Array.prototype.flatMap()

简介: Array.prototype.flatMap()

MDN文档

flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 连着深度值为 1flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。


语法:

var new_array = arr.flatMap(function callback(currentValue[, index[, array]]) {
    // return element for new_array
} [, thisArg])


参数:

  • callback可以生成一个新数组中的元素的函数,可以传入三个参数:
  • currentValue
    当前正在数组中处理的元素
  • index | 可选
    数组中正在处理的当前元素的索引
  • array | 可选
    被调用的 map 数组
  • thisArg | 可选
    执行 callback 函数时 使用的 this 值。


返回值:

一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为 1


示例:

const arr1 = [1, 2, 3, 4];
arr1.map(x => [x * 2]); // [[2], [4], [6], [8]]
arr1.flatMap(x => [x * 2]); // [2, 4, 6, 8]
// 只能展开一级
arr1.flatMap(x => [
    [x * 2]
]); // [[2], [4], [6], [8]]
目录
相关文章
|
2月前
Array.from() 与 Array.reduce()
Array.from() 与 Array.reduce()
18 1
|
2月前
实现array.slice()方法
实现array.slice()方法
|
2月前
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别以及优缺点
Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 区别以及优缺点
15 0
|
2月前
|
JavaScript 前端开发
slice()和splice()用法
slice()和splice()用法
24 0
|
11月前
|
前端开发 索引
Array.prototype.at
Array.prototype.at
63 0
|
11月前
Array.prototype.concat
Array.prototype.concat
40 0
|
索引
Array.forEach()
Array.forEach()
66 0
Array.prototype.flat()
Array.prototype.flat()
68 0

热门文章

最新文章