美文网首页
手写filter,forEach, map, some, eve

手写filter,forEach, map, some, eve

作者: 笨鸟先飞不 | 来源:发表于2020-11-28 17:45 被阅读0次

filter

const filter = (arr, fn) => {
    const result = [];
    for(let value of arr) {
        if(fn(value)) {
            result.push(value);
        }
    }
    return result;
}

forEach

const forEach = (arr, fn) => {
    for(let value of arr) {
        fn(value)
    }
}

map

const map = (arr, fn) => {
    const result = [];
    for(let value of arr) {
        result.push(fn(value));
    }
    return result;
} 

some

const some = (arr, fn) => {
    let bool = false;
    for(let value of arr) {
        bool = fn(alue);
        if(bool) {
            break;
        }
    }
    return bool;
}

every

const every = (arr, fn) => {
    let bool = true;
    for(let value of arr) {
        bool = fn(value);
        if(!bool) {
            break;
        }
    }
    return bool;
}

once

const once = (fn) => {
    let done = false;
    return function() {
        if (!done) {
            done = true;
            fn.apply(fn, arguments);
        }
    }
}

相关文章

网友评论

      本文标题:手写filter,forEach, map, some, eve

      本文链接:https://www.haomeiwen.com/subject/opkcwktx.html