find / some函数的封装

144 阅读1分钟
let arr = [1,2,3,4,500]
const result = every(arr,(item,index)=>item > 500)
console.log(result) 
/*
    @param { Array } arr
    @param { Function } callback
 */
function  every(arr,callback){
    // 遍历数组
    for(let i=0;i<arr.length;i++){
        // 执行回调
        let res = callback(arr[i],i)
        // 有一个不满足 则返回false
        if(!res){
            return false
        }
    }
    // 如果都满足条件 则返回true
    return true
}
let arr = [1,2,3,4,500]
const result = some(arr,(item,index)=>item > 500)
console.log(result) 
/*
    @param { Array } arr
    @param { Function } callback
 */

function  some(arr,callback){
    // 遍历数组
    for(let i=0;i<arr.length;i++){
        // 执行回调
        let res = callback(arr[i],i)
        // 有一个满足 则返回true
        if(res){
            return true
        }
    }
    // 如果全部不满足  返回false
    return false
}