filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
var ages = [
{
age:10,
name:"小结巴"
},
{
age:20,
name:"程浩南"
},
{
age:22,
name:"细细粒"
}
];
function checkAdult(ages) {
return ages.age >= 18;
}
let adult = ages.filter(checkAdult)
console.log(adult)
tips:
filter() 方法不会对空数组进行检测。
filter() 方法不会改变原始数组。
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
var ages = [
{
age:18,
name:"小结巴"
},
{
age:18,
name:"程浩南"
},
{
age:22,
name:"细细粒"
}
];
function checkAdult(ages) {
return ages.age >= 18;
}
let adult = ages.find(checkAdult)
console.log(adult)
tips:
find() 方法不会对空数组进行检测。
find() 方法不会改变原始数组。
find() 方法为数组中的每一个元素都会调用一次函数执行,当数组中的元素在测试条件返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数,如果没有符合条件的元素返回 undefined。
every() 方法用于检测数组所有元素是否都符合指定条件。
var ages = [
{
age:18,
name:"小结巴"
},
{
age:18,
name:"程浩南"
},
{
age:18,
name:"细细粒"
}
];
function checkAdult(ages) {
return ages.age > 16;
}
let adult = ages.every(checkAdult)
console.log(adult)
tips:
every() 方法不会对空数组进行检测。
every() 方法不会改变原始数组。
every() 方法使用指定函数检测数组中的所有元素,如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。如果所有元素都满足条件,则返回 true。