father::操作数组
梗概
- 混合了map, filter, 插入元素的功能, 可以将每个元素映射为0到多个元素
flatMap()先对数组中的每个元素应用一个映射函数,然后将结果展平到一个新数组中。简而言之,它可以用来对数组中的每个元素进行映射处理,同时将嵌套的数组结构展开成一个平坦的结构。
语法
array.flatMap(callback(currentValue[, index[, array]])[, thisArg])参数
callback:对每个元素执行的函数,接收三个参数:currentValue:当前元素的值。index(可选):当前元素的索引。array(可选):调用flatMap的原数组。
thisArg(可选):执行callback时this的值。
示例
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