JavaScript Array flatMap() 方法首先使用映射函數映射每個元素,然後將其展平為一個新數組。
用法:
arr.flatMap(callback(currentValue),thisArg)
這裏,arr
是一個數組。
參數:
flatMap()
方法包含:
callback
- 最初在每個數組元素上執行的函數。它包含:currentValue
- 從數組傳遞的當前元素。
thisArg
(可選)- 執行callback
時用作this
的值。
返回:
- 使用映射每個元素後返回一個新數組
callback
並將其展平到1.
注意:
flatMap()
方法不會更改原始數組。flatMap()
方法等效於array.map().flat()
。
示例:使用flatMap() 方法
const arr1 = [1, 2, 3, 4, 5];
const newArr1 = arr1.flatMap((x) => [x ** 2]);
console.log(newArr1); // [ 1, 2, 3, 4, 5 ]
// can also be done as
const intermediate = arr1.map((x) => [x ** 2]);
console.log(intermediate); // [ [ 1 ], [ 4 ], [ 9 ], [ 16 ], [ 25 ] ]
const newArr2 = intermediate.flat();
console.log(newArr2); // [ 1, 4, 9, 16, 25 ]
const numbers = [1, 2, 3, 4, 5, 6, 7];
// remove odd and split even element to two half elements
function func(n) {
if (n % 2 === 0) {
return [n / 2, n / 2];
} else {
return [];
}
}
const newArr3 = numbers.flatMap(func);
console.log(newArr3); // [ 1, 1, 2, 2, 3, 3 ]
輸出
[ 1, 4, 9, 16, 25 ] [ [ 1 ], [ 4 ], [ 9 ], [ 16 ], [ 25 ] ] [ 1, 4, 9, 16, 25 ] [ 1, 1, 2, 2, 3, 3 ]
相關用法
- JavaScript Array flat()用法及代碼示例
- JavaScript Array fill()用法及代碼示例
- JavaScript Array find()用法及代碼示例
- JavaScript Array forEach()用法及代碼示例
- JavaScript Array filter()用法及代碼示例
- JavaScript Array findIndex()用法及代碼示例
- JavaScript Array from()用法及代碼示例
- JavaScript Array length用法及代碼示例
- JavaScript Array isArray()用法及代碼示例
- JavaScript Array values()用法及代碼示例
- JavaScript Array entries()用法及代碼示例
- JavaScript Array includes()用法及代碼示例
- JavaScript Array unshift()用法及代碼示例
- JavaScript Array pop()用法及代碼示例
- JavaScript Array shift()用法及代碼示例
- JavaScript Array some()用法及代碼示例
- JavaScript Array indexOf()用法及代碼示例
- JavaScript Array reverse()用法及代碼示例
- JavaScript Array lastIndexOf()用法及代碼示例
- JavaScript Array concat()用法及代碼示例
注:本文由純淨天空篩選整理自 JavaScript Array flatMap()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。