js数组:
filter方法:过滤,回调方法返回值为Boolean,最终通过这个判断查出一个新数组。
reduce方法:统计
sort方法:排序
forEach方法:遍历
删除一个item元素:splice(itemIndex,1)
更新一个item元素:splice(itemIndex, 1, newItem)
js数组使用案列:
假设数组中的所有item元素是User对象
let userArr = [
{name:'小明',age:15,sex:'男'},
{name:':卡红',age:12,sex:'女'},
{name:'小绿',age:18,sex:'男'},
{name:'搜栏',age:19,sex:'男'},
{name:'小红',age:10,sex:'女'}
]
需求1:索引出name包含‘小’字的user
let searchName = ‘小’;
let newUserArr = userArr.filter(user => user.name.indexOf(searchName)!==-1);
需求2:排序
userArr.sort((user1, user2) => {
//降序
return user2.age-user1.age
//升序
return user1.age-user2.age
})
需求3:遍历
userArr.forEach(user => {
console.log(user.name);
})
需求4:统计sex是男的user数量
//解释:preTotal:上一个统计的总数量 + [如果user.sex==='男'条件成立,就取1,否则就去0],初始总数量为0;
userArr.reduce((preTotal, user) => preTotal + (user.sex==='男' ? 1 : 0), 0)