【lodash源碼】_.filter()

function filter(array, predicate) {
let index = -1
let resIndex = 0
const length = array == null ? 0 : array.length
const result = []

while (++index < length) {
const value = array[index]
if (predicate(value, index, array)) {
result[resIndex++] = value
}
}
return result
}

export default filter

解析:

當後面的函數返回ture時,纔會將該項放進新數組中,如下:

if (predicate(value, index, array)) {// !!!這個重要

result[resIndex++] = value

if (predicate(value, index, array)) {// !!!這個重要
result[resIndex++] = value
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章