新增数组方法
1、every
有一个条件不满足,就返回false
- every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
function isBelowThreshold(currentValue) {
// return currentValue < 38; //false
return currentValue < 40; //true
}
var array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
- 实际应用
// 如果arr1的name字段的值,全部在arr2里面就返回true,否则返回false
var arr1=[
{
id:1,
name:"杨颖"
},
{
id:2,
name:"赵丽颖"
}
]
var arr2=['杨颖',"赵丽颖"]
// 现在返回true
更改下arr2的值 var arr2=['杨颖']
//返回false
//实现
function isEqual(arr1=[],arr2=[]){
return arr1.every(item=>{
return arr2.indexOf(item.name)!==-1
})
}
var arr1=[
{
id:1,
name:"杨颖"
},
{
id:2,
name:"赵丽颖"
}
]
var arr2=['杨颖']
// 如果arr1的name字段的值,全部在arr2里面就返回true,否则返回false
console.log(isEqual(arr1,arr2))
2.some
some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。(只要有一个通过就返回true)
function isBelowThreshold(currentValue) {
return currentValue < 2; //true
}
var array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.some(isBelowThreshold));