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
}