JavaScript Array 对象

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的
posted @ 2020-07-02 10:18  清言  阅读(182)  评论(0编辑  收藏  举报