js中every
和some
都是对数组进行迭代操作的函数
区别
every()
开始循环,只要有任何一项返回false,将会跳出循环,不会继续向下迭代
some()
开始循环,一直在找符合条件的值,一旦遇到有一项返回true,将会跳出循环,不会继续向下迭代
var arr = [ 1, 2, 3, 4, 5, 6 ];
console.log( arr.some( function( item, index){
console.log( 'item=' + item + ',index='+index);
return item > 2;
}));
运行结果
由此可以看到,
arr
数组开始循环,正常输出,当遇到item>2,此时条件返回true,终止循环
var arr = [ 1, 2, 3, 4, 5, 6 ];
console.log( arr.every( function( item, index){
console.log( 'item=' + item + ',index='+index);
return item > 2;
}));
运行结果
由此可以看到,
arr
数组开始循环,第一次循环时,item=1,正常输出,但是条件是item>2,所以立刻终止循环