给定一个数组
let list = [
// wu: 武力 zhi:智力
{ id: 1, name: '张飞', wu: 97, zhi: 10 },
{ id: 2, name: '诸葛亮', wu: 55, zhi: 99 },
{ id: 3, name: '赵云', wu: 97, zhi: 66 },
{ id: 4, name: '周瑜', wu: 80, zhi: 98 },
{ id: 5, name: '吕布', wu: 100, zhi: 8 },
{ id: 6, name: '司马懿', wu: 30, zhi: 98 }
]
1.求数组中所有英雄的武力平均值
forEarch方法
let total = 0;
list.forEach(item => total+= item.wu);
console.log(total/list.length);
2.得到一个新数组,只保留英雄的名字
方法一:map方法
let newArr=list.map(item=>item.name);
console.log(newArr);
方法二:forEarch方法
let arr1=[];
let newArr=list.forEach(function(item) {
arr1.push (item.name);
});
3.得到一个新数组,新数组中只保留武力值超过90的英雄
var newArr2 = list.filter(item =>item.wu>90);
console.log(newArr2);
4.删除数组中名字为周瑜的英雄
var newArr3 = list.filter(item =>item.name !== '周瑜');
console.log(newArr3);
5.判断数组中所有英雄的武力是否都超过60, 最终打印结果: 全是猛将 还有弱鸡 使用两种方式实现
some 方法
console.log(list.some(item=>item.wu<60)?'还有弱鸡':'还有弱鸡');
every 方法
console.log(list.every(item=>item.wu>60)?'全是猛将':'还有弱鸡');
6.删除数组中所有智力低于60的英雄
filter 方法
var newArr4 =list.filter(item=>item.zhi>60);
console.log(newArr4);
7.找到数组中id为2的英雄,求他的武力+智力的综合
filter 方法
let result= list.filter(item=>item.id ==2)[0];
console.log(result.wu+result.zhi);
find 方法
let result1= list.find(item=>item.id ==2);
console.log(result1.wu+result1.zhi);