JavaScriptTablice
Array. prototype. flatMap()
Mapuje każdy element i spłaszcza wynik o jeden poziom.
- Zwraca
- Nową tablicę z wynikami, spłaszczoną o jeden poziom.
- Zmienia oryginał
- Nie
Przykład
#JavaScript
const courses = [
{ name: 'HTML', tags: ['web', 'podstawy'] },
{ name: 'Python', tags: ['dane', 'ai'] }
]
console.log(courses.flatMap((course) => course.tags))Konsola
['web', 'podstawy', 'dane', 'ai']
Definicja i zastosowanie
#Metoda flatMap() łączy map() i flat() w jednym kroku. Funkcja może zwrócić tablicę, a jej elementy zostaną wstawione bezpośrednio do wyniku.
Dzięki temu jeden element może zamienić się w kilka elementów albo w żaden (gdy funkcja zwróci pustą tablicę). To wygodny sposób, żeby jednocześnie przekształcać i filtrować dane.
Spłaszczanie działa tylko na jeden poziom. Jeśli funkcja zwraca tablice zagnieżdżone głębiej, reszta pozostanie zagnieżdżona.
Składnia
#Składnia
array.flatMap(callbackFn)
array.flatMap(callbackFn, thisArg)Parametry
#callbackFn
function (element, index, array)
Funkcja zwracająca wartość albo tablicę wartości.thisArg
opcjonalny
Wartośćthiswewnątrz funkcji.
Więcej przykładów
#JavaScript
const inputs = ['12', 'abc', '7', '']
const numbers = inputs.flatMap((value) => {
const n = Number.parseInt(value, 10)
return Number.isNaN(n) ? [] : [n]
})
console.log(numbers)Konsola
[12, 7]
Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Zwracanie
[]z funkcji usuwa element z wyniku, a[a, b]zamienia jeden element w dwa. - Gdy nie potrzebujesz spłaszczania, zwykłe
map()jest czytelniejsze.
Powiązane hasła
#Widzisz błąd albo brakuje przykładu? Napisz do nas.