Phương thức flatMap () của JavaScript Array trước tiên ánh xạ từng phần tử bằng cách sử dụng một hàm ánh xạ, sau đó làm phẳng nó thành một mảng mới.
Cú pháp của flatMap()
phương thức là:
arr.flatMap(callback(currentValue),thisArg)
Ở đây, arr là một mảng.
Thông số flatMap ()
Các flatMap()
phương pháp có trong:
- callback - Hàm thực thi ban đầu trên mỗi phần tử mảng. Nó có:
- currentValue - Phần tử hiện tại đang được truyền từ mảng.
- thisArg (tùy chọn) - Giá trị sử dụng như
this
khi thực thicallback
.
Giá trị trả về từ flatMap ()
- Trả về một mảng mới sau khi ánh xạ mọi phần tử bằng cách sử dụng
callback
và làm phẳng nó đến độ sâu 1 .
Ghi chú :
- Các
flatMap()
phương pháp không làm thay đổi mảng gốc. - Các
flatMap()
phương pháp là tương đương vớiarray.map().flat()
.
Ví dụ: Sử dụng phương thức 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 )
Đầu ra
(1, 4, 9, 16, 25) ((1), (4), (9), (16), (25)) (1, 4, 9, 16, 25) (1, 1, 2, 2, 3, 3)
Đề xuất đọc: Mảng JavaScript phẳng ()