JavaScript Array 对象
JavaScript Array 对象
var aa=[
{name:'小红',age:18,class:1,sex:'F'},
{name:'小明',age:18,class:1,sex:'M'},
{name:'小橙',age:19,class:1,sex:'F'},
{name:'小紫',age:18,class:2,sex:'F'},
{name:'小蓝',age:19,class:2,sex:'M'},
{name:'小黑',age:19,class:1,sex:'M'},
{name:'小龙',age:20,class:1,sex:'M'},
{name:'小强',age:20,class:1,sex:'M'},
]
filter()
方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
//查找age都为18的
var ageArr = aa.filter(item => {
return item.age ==18
});
console.log(ageArr)
//结果
[
{name:'小红',age:18,class:1,sex:'F'},
{name:'小明',age:18,class:1,sex:'M'},
{name:'小紫',age:18,class:2,sex:'F'},
]
every()
方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
//判断age为18的是否都是同样的sex
var allEqual = ageArr.every( item =>
item.sex === ageArr[0].sex
);
console.log('age为18的是否都是同样的sex:'+allEqual)
//结果
age都为18的是否都是同样的sex:false
findIndex()
方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
findIndex() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。
注意: findIndex() 并没有改变数组的原始值。
//判断是否存在年龄为18的
var idx = ageArr.findIndex(item => {
return item.age==18
})
if(idx>=0){
console.log("存在年龄为18的")
}else{
console.log("不存在年龄为18的")
}
//结果
存在年龄为18的