随笔:ES6 forEach、filter、map、some、every、find、findIndex、reduce

var listMap = [{ id: '1001', width: 50 },
{ id: '1002', width: 80 },
{ id: '1003', width: 120 },
{ id: '1004', width: 40 },
{ id: '1005', width: 110 },
{ id: '1006', width: 60 }]

//改变原始数据width+20[forEach map都可以,forEach语义比较适合]
listMap.forEach(Map =>  Map.width += 20 )


listMap.map(Map => Map.width += 20 )

//返回width集合【forEach 不行】
 w = listMap.forEach(Map => { return Map.width += 20 })
//undefined

w = listMap.map(Map => { return Map.width += 20 })
//[ 70, 100, 140, 60, 130, 80 ]

//找出width大于100
var subsets= listMap.filter(Map => { return Map.width > 100 })

//[ { id: '1003', width: 120 }, { id: '1005', width: 110 } ]


//判断是否存在一个width大于100
var hassub100 = listMap.some(Map => { return Map.width > 100 })

//true


//是不是所有width都大于100
var allsub100 = listMap.every(Map => { return Map.width > 100 })

//false


//找到大于100就返回
var big = listMap.find(Map => { return Map.width > 100 })

//{ id: '1003', width: 120 }

//找打大于100位置序列号
var i = listMap.findIndex(Map=>{ return Map.width > 100 })

//2


//统计所有的width和
var sum = width.reduce((sum, w) => { return w + sum },0)

//460

//不会改变原数据

  var sum = listMap.reduce((sum, p) => 
  { return p.width + sum },0)
  //460

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值