some,every的用法和区别

464 阅读1分钟

在Es6新语法中,我印象深刻的是数组some()方法和every()

some方法

数组some方法的作用:判断数组中是否有符合条件的元素 举例:判断数组中有没有负数

        let arr = [23, 31, 60, 88,-50, 90, 108, 260];
        /**
        * @description: 数组some遍历
        * @param {Function}:回调函数 (元素,下标)=>{}
        * @return: 布尔类型值
        */
        let arr1 = arr.some((item,index) => {
            console.log(`下标为${index}的元素是${item}`);
            // if(item < 0){
            //     return true;//循环结束
            // };
            //简写成
            return item<0;
        });
        console.log(arr1);
        

some方法特点:

1.回调函数执行次数不等于数组长度

2.回调函数内部的return

return true : 循环结束,找到符合条件的元素

return false : 循环继续,继续找,如果所有的元素都不符合条件则结果false

总结:一真即真,只要有一个元素符合条件则为真,后面的元素不在遍历

every方法

数组every方法作用:判断数组中是否所有元素都满足条件

举例:判断数组是否所有都是正数

        let arr = [23, 31, 60, 88,-50, 90, 108, 260];
        /**
        * @description: 数组every遍历
        * @param {Function}:回调函数 (元素,下标)=>{}
        * @return: 布尔类型值
        */
        let arr1 = arr.every((item,index) => {
            console.log(`下标为${index}的元素是${item}`);
            // if(item > 0){
            //     return true;//如果是正数,循环继续
            // }
            //简写成
            return item>0;
            
        });
        console.log(arr1);

every方法特点:

1.回调函数执行次数不等于数组长度

2.回调函数内部的return

return true : 循环继续,继续找,如果所有的元素都符合条件则结果false

return false : 循环结束,有元素不满足条件

总结:一假即假 ,而且只要有一个元素是假,其后面的元素将不再遍历。