首页 > 解决方案 > 这两种排序方法有什么区别?

问题描述

我有 2 种排序方法,想了解两者之间的区别。一种方法进行比较并返回一个整数。另一个从另一个元素中减去一个元素。请帮助我了解差异以及首选哪种方法。

const onSortByUpvotes = () => { 
  let sortedArr = [...articlesList]
  sortedArr.sort((a, b) => {
    if (a.upvotes > b.upvotes) {return -1}
    if (b.upvotes < b.upvotes) { return 1}
      return 0
    })
    setArticleList(sortedArr)
}

const onSortByUpvotes = () => {
    articlesList.slice().sort((a, b) => {
        return a.upvotes - b.upvotes
    })
    setArticleList(sortedArr)
}

标签: reactjs

解决方案


两者的工作方式完全相同。第二个函数是第一个函数的隐式版本。后面看到的第二个函数作为第一个函数工作。

articlesList.slice().sort((a, b) => { return a.upvotes - b.upvotes })


推荐阅读