2016-07-26 109 views
0

我刚刚开始使用JS和React使用fullstack.io书。参数updateState reactjs函数来自哪里?

在书中,有一段代码:

updateState: function() { 
    const products = Data.sort((a, b) => { 
     return b.votes - a.votes; 
} 

现在每次的updateState函数被调用的代码样本中,有没有传入参数...所以怎么会在“a” & Data.sort中使用的“b”参数是否被填充?

谢谢。

回答

0

我不确定Data是什么,但让我们假设它是一个数组。

Array.prototype.sort是一个采用比较器回调函数(a, b) => { ... }的函数。
该功能比较元素ab
如果函数返回小于0的数字,则a出现在b之前(升序)。
否则ba(降序)之前。

关键外卖是absort引擎盖下通过。您只需要担心提供确定排序顺序的回调。

例如:

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] 
+0

非常感谢你的解释。这为我澄清。只是不确定价值来自哪里。是的,你的假设是正确的 - 这是一个JS阵列。我感谢你的时间。 – Dustin