ES6 新增的数组的方法

给定一个数组
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);

猜你喜欢

转载自www.cnblogs.com/yeanling/p/10992278.html