因此,索引函數將返回可以在數組中找到值的索引,如果數組中沒有值,則返回-1,並且返回當存在多個時可以找到目標的第一個索引火柴。indexOf函數的語法如何工作?
但是爲什麼設置item === target && result === -1
,這部分沒有意義?如果數組中的給定值爲真,那麼當result === -1
?我們設置了result = index
?這部分的目的是什麼......?
順便說一下,我們設置var result = -1
爲目標,不能在數組中找到的是正確的?
_.indexOf = function(array, target){
var result = -1;
_.each(array, function(item, index) {
if (item === target && result === -1) {
result = index;
}
});
return result;
};
'if =='裏面的'result === -1'只是確保函數只返回第一個匹配。在'each()'回調中找到第一個匹配後,'result === -1'將總是失敗,因爲'result'已經有了另一個值。 – Sirko
這是indexOf的一個不好的實現,讓我們在找到匹配之後繼續循環遍歷所有內容.... – epascarello
@epascarello您能告訴我一個更好的實現方法嗎? – Danny