CodeSnippet
filter

filter

filter 的作用是过滤掉不符合条件的元素,返回符合条件的元素组成的数组。

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = arr.filter(item => item % 2 === 0);
console.log(result); // [2, 4, 6, 8, 10]

下面让我们来自己实现一个 filter 函数。

Arrary.prototype.myFilter(cb){
    // cb 是传入的参数,即一个函数即 item => item % 2 === 0
    let arr = []
    for (let i=0;i< this.length;i++){
        if (cb(this[i])) // 执行这个函数,因为函数最终返回的是 Boolean 对象
        {
            arr.push(this[i])
        }
    }
    return arr
}

在这个函数中,我们将传入的参数作为函数执行来筛选出符合条件的元素。