reactjs - 这两种排序方法有什么区别?
问题描述
我有 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)
}
解决方案
两者的工作方式完全相同。第二个函数是第一个函数的隐式版本。后面看到的第二个函数作为第一个函数工作。
articlesList.slice().sort((a, b) => { return a.upvotes - b.upvotes })
推荐阅读
- angular - 为什么 PrimeNg pSortableColumn 没有容器项目的点击事件?
- arrays - 在 Google 表格中使用数组公式滚动总和
- regex - 将所有特殊字符和单词分隔到字符串列表中的项目中 - 正则表达式
- html - CSS中的不透明度不影响div
- c++ - 反转一个数字并从头开始删除零
- ruby-on-rails - 如何在ruby erb html表中编写if语句
- javascript - 如何在CKEditor 5中上传图像时添加标题
- django - 用于验证 1 个字段与 Django 中的另一个字段的数据库级别约束
- git - 如何在 VS Code 中部分还原同事的 Git 提交?
- java - 单元测试用例失败:与此模拟的零交互