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