ES6中forEach()和some()的区别

195 阅读1分钟

1. forEach()

语法:array.forEach(function(value, index, arr))

① value: 当前项的值

②index : 当前项的索引号

③arr:数组本身

④此方法遇到return不会终止循环

2. some()

语法:array.forEach(function(value, index, arr))

①此方法用于检测数组中的元素是否满足指定条件

②它找到第一个满足条件的元素后就会终止循环

③它返回的是布尔值,查找到返回:true

代码展示:

   var arr = ['red', 'green', 'blue', 'yellow'];
    // 1. forEach 遍历
        arr.forEach(function(value) {
             if (value == 'green') {
                 console.log("查到此元素" + value);
                 return true;   // 在forEach里面 return不会终止迭代(遍历)
             }
             console.log("hhhhhh");
        })

    // 2. some 遍历  
    // 如果查询数组中唯一的元素,用some方法更合适
    arr.some(function(value) {
        if (value == 'green') {
            console.log("查到此元素" + value);
            return true;   // 在some里面遇到 return true就是终止迭代(遍历) 效率更高
        }
        console.log("hhhhhh");
    })