Ten post wyjaśni metody spłaszczyć A Zagnieżdżona tablica JavaScript. Ale przed wskoczeniem do niego wyjaśnimy termin „głębokość”Ponieważ jest to związane z procedurą spłaszczania.
Głębokość zagnieżdżonej tablicy JavaScript
Działanie dodawania macierzy wewnętrznej lub gniazdowania tablicy w normalnych przyrostach macierzy „1" w Poziom głębokości. Na przykład, bez zagnieżdżonej tablicy, normalna tablica będzie miała „0„Poziom głębokości:
[12, 23, 34, 45, 56, 67, 78] // Poziom głębokości = 0Z jednym wewnętrznym podatakiem, poziom głębokości stanie się „1”:
[12, 23, 34, [45, 56, 67, 78]] // Poziom głębokości = 1Podobnie, zwiększenie liczby wewnętrznych pod-podorządkowania zwiększy również poziom głębokości:
[12, 23, [34, [45, 56, 67, 78]]] // Poziom głębokości = 2Teraz sprawdź metodę spłaszczania tablicy w wersji JavaScript przed ES6.
Jak spłaszczyć zagnieżdżoną tablicę JavaScript za pomocą metody conat () i operatora rozprzestrzeniania się […]
Połączenie „conat ()”Metoda i„Operator rozprzestrzeniania […]„Metoda jest stosowana do spłaszczenia zagnieżdżonej tablicy JavaScript w taki sposób, że operator rozprzestrzeniania […] rozprzestrzeniła elementy określonej tablicy, a następnie łączy je w pustej tablicy za pomocą metody JavaScript Conat ():
Niech tablica = [12, 23, [43, 34, 56]];Wyjście
Jednak to podejście spłaszcza jedynie zagnieżdżone tablice poziomu:
const numarray = [12, 23, [34, 45, 56, [67, 78]]];Powyższy kod doda wewnętrzną tablicę „Numarray„Jako całość„Flatarray„Ponieważ nie może rozprzestrzeniać swoich elementów:
Co jeśli musisz spłaszczyć głęboko zagnieżdżoną tablicę? Aby to zrobić, możesz użyć „Szyk.spłaszczyć()”Metoda oferowana przez wersję JavaScript ES6.
Jak spłaszczyć zagnieżdżoną tablicę JavaScript za pomocą tablicy.Flat () Metoda
„„Szyk.płaski()”Metoda jest osadzona w ES6 To pozwala ci „spłaszczyć„Zagnieżdżona tablica JavaScript. Ta metoda zwraca nową tablicę, w której wszystkie elementy pod-pod-urzeczy są połączone zgodnie z określoną głębokością.
Składnia tablicy.Flat () metoda spłaszczenia zagnieżdżonej tablicy JavaScript
Niech Newarray = tablica.płaski ([głębokość])Tutaj "Szyk„Obiekt wywoła„płaski()„Metoda podczas przekazywania”głębokość„Jako argument.
Teraz sprawdźmy kilka przykładów, aby zrozumieć określoną koncepcję.
Przykład 1: Jak spłaszczyć zagnieżdżoną tablicę JavaScript z jedną głębokością poziomu
Przede wszystkim stworzymy zagnieżdżoną tablicę JavaScript o następujących elementach i podataku:
const numarray = [12, 23, [34, 45, 56]];Następnie spłaszczymy stworzone zagnieżdżone „Numarray”Z pomocą„płaski()" metoda:
const flatarray = numarray.płaski();Nie minęliśmy „głębokość”Argument, więc„Numarray.płaski()„Rozważa domyślną wartość głębokości, jaką jest„1”I łączy elementy zagnieżdżonych JavaScript 34, 45, 56 do nowo utworzonego „Flatarray”:
Przykład 2: Jak spłaszczyć zagnieżdżoną tablicę JavaScript z głębokością dwupoziomową
W poniższym przykładzie określamy „2”Jak„ „głębokość”Poziom. Po tym „„Numarray.płaski()„Spłaszczy wewnętrzne dwa pod-pod-pod-podsumowanie i doda swoje elementy w wyniku”flatarray ()”:
const numarray = [12, 23, [34, 45, 56, [67, 78]]];Wykonanie danego programu pokaże następujące dane wyjściowe:
Przykład 3: Jak spłaszczyć zagnieżdżoną tablicę JavaScript bez znajomości poziomu głębokości
Jeśli nie masz pojęcia o poziomie głębokości tablicy, przejdźnieskończoność”Jako argument„Szyk.płaski()" metoda. W takim przypadku wszystkie elementy podrzędne są „rekurencyjnie„Połączone w inną tablicę.
Na przykład, aby spłaszczyć poniżej „poniżej”Numarray”, Określimy„nieskończoność„Zamiast argumentu poziomu głębokości:
const numarray = [12, 23, [34, 45, 56, [67, 78, [89, 90]]]]];Jak widać, „Numarray.płaski()„Metoda z powodzeniem spłaszczyła zagnieżdżoną”Numarray”:
To były wszystkie podstawowe informacje związane z spłaszczeniem tablicy w JavaScript. Możesz dalej nad tym popracować zgodnie z preferencjami.
Wniosek
Szyk.płaski() Metoda jest stosowana przede wszystkim do spłaszczenia zagnieżdżonej tablicy JavaScript. Akceptuje głębokość poziom jako argument i zwraca nową tablicę, w której wszystkie elementy pod-pod-nowoczesnych są połączone zgodnie z określoną głębokością. Przed ES6 połączenie niektórych wbudowanych metod, takich jak conat () I Operator rozprzestrzeniania się […] może tylko spłaszczyć tablicę poziomu pierwszego; Jednakże Szyk.płaski() Metoda pomaga w spłaszczaniu głęboko zagnieżdżonych tablic. Ten zapis wyjaśnił procedurę spłaszczenia tablicy w JavaScript.