es6中 数组的flat() 与 flatMap() ,map() 使用方法

 把嵌套数组拉平,该方法返回一个新数组,对原数据没有影响。

[1, 2, [3, 4]].flat()
// [1, 2, 3, 4]

flat(num) 需要拉平几层 数组,按顺序排列, 默认 是 1

[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]

 如果 嵌套多层 无法计算 (Infinity) 关键字 拉平所有数组  (数组中 有空位会跳过)

[1, [2, [3]]].flat(Infinity)
// [1, 2, 3]

 flatMap 方法对原数组的每个成员执行一个函数 该方法返回一个新数组 并且拉平数组, 但只能展开一层

[2, 3, 4].flatMap((x) => [x, x + 2])
// [2, 4, 3, 5, 4, 6]

 map 方法对原数组的每个成员执行一个函数 改函数返回一个新数组 不做展开操作 (也可以返回 成员本身, 相当于什么都没做)

[2, 3, 4].map(x => [x])
// [ [2], [3], [4] ]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值