2016-07-26 111 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