father::操作数组

梗概

  • 混合了map, filter, 插入元素的功能, 可以将每个元素映射为0到多个元素
  • flatMap() 先对数组中的每个元素应用一个映射函数,然后将结果展平到一个新数组中。简而言之,它可以用来对数组中的每个元素进行映射处理,同时将嵌套的数组结构展开成一个平坦的结构。

语法

array.flatMap(callback(currentValue[, index[, array]])[, thisArg])

参数

  • callback:对每个元素执行的函数,接收三个参数:
    • currentValue:当前元素的值。
    • index(可选):当前元素的索引。
    • array(可选):调用 flatMap 的原数组。
  • thisArg(可选):执行 callbackthis 的值。

示例

const arr = [1, 2, 3, 4];
const result = arr.flatMap(x => [x, x * 2]);
console.log(result); // [1, 2, 2, 4, 3, 6, 4, 8]

在这个例子中,flatMap 对每个元素 x 应用映射函数 [x, x * 2],然后将得到的数组展平。 还可以过滤元素

const arr = [1, 2, 3, 4, 5, 6];
const result = arr.flatMap(x => (x % 2 === 0 ? [] : [x]));
console.log(result); // [1, 3, 5]

father:: JavaScript