我刚刚使用fullstack.io书开始使用JS和React。
在书中,有一段代码:
updateState: function () {
const products = Data.sort((a, b) => {
return b.votes - a.votes;
}
现在每次在代码示例中调用updateState函数时,都没有传入参数...那么“a”和&填写Data.sort中使用的“b”参数?
谢谢。
答案 0 :(得分:0)
我不确定Data
是什么,但我们假设它是一个数组。
Array.prototype.sort
是一个采用比较器回调函数(a, b) => { ... }
的函数
该函数比较元素a
和b
如果函数返回的数字小于0,则a
在b
之前(升序)
否则b
会出现在a
之前(降序)。
关键点是a
和b
由sort
传递。您只需要担心提供确定排序顺序的回调。
例如:
let arr = [2, 4, 7, 1]
arr.sort((a, b) => a - b) // => [1, 2, 4, 7]
arr.sort((a, b) => b - a) // => [7, 4, 2, 1]