题解 | #表格排序#

表格排序

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))
  }
全部评论

相关推荐

牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务