ES6之数组新增方法 (map,reduce,filter,forEach)

对于数组,ES6中新增4个很实用的方法,分别有:map ,reduce,filter,forEach。接下来我们来一一讲解。

1、map 映射 一个对一个

let arr = [61012, 5, 8]
let result = arr.map(function (item) {
    return item*2
})
let result2 = arr.map(item=>item*2) // es6的箭头函数简写,若想了解,后面的文章有介绍
console.log(result)
console.log(result2)

let score = [18, 86, 88, 24]
let result3 = score.map(item => item >= 60 ? '及格' : '不及格')
console.log(result3)

结果如下:
在这里插入图片描述
在这里插入图片描述

2、reduce 汇总 一堆出来一个(用于比如,算个总数,算个平均)

var arr = [1, 3, 5, 7]
var result = arr.reduce(function (tmp, item, index) {
    //tmp 上次结果,item当前数,index次数1开始
    console.log(tmp, item, index)
    return tmp + item
})
console.log(result)

结果如下:
在这里插入图片描述

var arr = [1, 3, 5, 7]
var result = arr.reduce(function (tmp, item, index) {
    if (index != arr.length - 1) { // 不是最后一次
        return tmp + item
    } else {
        return (tmp + item)/arr.length
    }
})
console.log(result)  // 平均值

结果
// 4

3、filter 过滤器 保留为true的结果

var arr = [12, 4, 8, 9]
var result = arr.filter(item => (item % 3 === 0) ? true : false)
console.log(result)
var result = arr.filter(item => item % 3 === 0)
console.log(result)

结果 // [12, 9]

var arr = [
    { title: '苹果', price: 10 },
    { title: '西瓜', price: 20 },
]
var result = arr.filter(json => json.price >= 20)
console.log(result)
结果 // [ { title: '西瓜', price: 20 }]

4、forEach 循环迭代 — 相当于for循环遍历

var arr = [12, 4, 8, 9]
var result = arr.forEach(item => console.log(item))
结果 // 12
	//	4
	//	8
	//	9
		
var result = arr.forEach((item, index)=>console.log(item, index))
结果 // 12 0
	//	4 1
	//	8 2
	//	9 3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值