some():方法用于检测数组中的元素是否有知足指定条件的,若知足返回true,不然返回false;
every():方法用于检测数组中全部元素是否都符合指定条件,若符合返回true,不然返回false;数组
1.array.some(function(item,index,array){ //item:当前元素的值; //index:当前元素的索引; // array:当前元素的数组对象; })
some()方法会依次执行数组的每一个元素;
若是有一个元素知足条件,则表达式返回true,剩余的元素不会再执行检测。若是没有知足条件的元素,则返回false
注意:some()不会对空数组进行检测;
some()不会改变原始数组;函数
var list = [ { name: '张一', age: '10', sex: '男' }, { name: '张二', age: '11', sex: '男' }, { name: '张三', age: '12', sex: '男' } ]; console.log(list.some(function(i){ return i.age > 10; }))//返回true
2.every()
array.every(function(item,index,array){
//item:当前元素的值;code
//index:当前元素的索引;对象
// array:当前元素的数组对象;
})索引
every()方法使用指定函数检测数组中的全部元素;
若是数组中检测到有一个元素不知足,则整个表达式返回false,且剩余的元素不会再进行检测。若是全部元素都知足条件,则返回true;
注意:every()不会对空数组进行检测;
every()不会改变原来的数组it
var list = [ { name: '张一', age: '10', sex: '男' }, { name: '张二', age: '11', sex: '男' }, { name: '张三', age: '12', sex: '男' } ]; var child = { name: '张三', age: '12', sex: '男' } //判断child是否list的子集 var status = list.some(function(i){// Object.keys(object)传入对象, 返回 包含对象可枚举属性和方法的数组 return Object.keys(child).every(function(j){ return i[j]===child[j]; }) }) console.log(status)//返回true