题解 | #表格排序#
表格排序
http://www.nowcoder.com/practice/a23d261947194d5d8e2687aa873d96e4
function sort(type, order) {
const tdIndex = ["id", "price", "sales"].indexOf(type); // 获取要排序列的索引
const container = document.querySelector('#jsList'); // 获取表格行所在容器
const trArr = Array.from(container.querySelectorAll('tr')); // 将表格行转成真数组
const sortFn = (a, b) => {
let td1 = a.querySelectorAll('td')[tdIndex].innerText
let td2 = b.querySelectorAll('td')[tdIndex].innerText
return (order === 'asc') ? td1 - td2 : td2 - td1
}
// 利用 append() 改变原有表格中表格行的顺序,而非新建元素!
trArr.sort(sortFn).forEach(tr => container.append(tr))
}