every():
对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true。
some():
对数组中的每一项运行给定函数,如果该函数对任一项返回 true,则返回 true。
异同
every()和 some(),它们都用于查询数组中的项是否满足某个条件。
对every()来说,传入的函数必须对每一项都返回 true,这个方法才返回 true;否则,它就返回 false。
而 some()方法则是只要传入的函数对数组中的某一项返回 true,就会返回 true。
举例
//every()方法
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item, index, array){
return (item > 2);
});
alert(everyResult); //false
//some()方法
var someResult = numbers.some(function(item, index, array){
return (item > 2);
});
alert(someResult); //true
以上代码调用了 every()和 some(),传入的函数只要给定项大于 2就会返回 true。对于 every(),
它返回的是 false,因为只有部分数组项符合条件。对于 some(),结果就是 true,因为至少有一项是大于 2 的。