Jak spłaszczyć zagnieżdżoną tablicę JavaScript

Jak spłaszczyć zagnieżdżoną tablicę JavaScript
JavaScript Array ma zdolność do przechowywania wielu tablic samych w sobie. Gdy do tablicy dodaje się wewnętrzna tablica lub podarray, jest znana jako „Wielowymiarowy" Lub "Zagnieżdżone ” szyk. Istnieją pewne scenariusze, w których może być konieczne utworzenie tablicy obejmującej wszystkie zagnieżdżone elementy tablicy JavaScript w ich oryginalnym zamówieniu. Jeśli tak jest, to spłaszczyć utworzona zagnieżdżona tablica i zmniejszają jej wymiarowość zgodnie z określonymi głębokość.

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 = 0

Z jednym wewnętrznym podatakiem, poziom głębokości stanie się „1”:

[12, 23, 34, [45, 56, 67, 78]] // Poziom głębokości = 1

Podobnie, 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 = 2
[12, [23, [34, [45, 56, 67, 78]]]] // Poziom głębokości = 3

Teraz 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]];
Niech flatarray = [].Conat (… tablica);
konsola.log (flatarray);

Wyjście

Jednak to podejście spłaszcza jedynie zagnieżdżone tablice poziomu:

const numarray = [12, 23, [34, 45, 56, [67, 78]]];
Niech flatarray = [].Conat (… numarray);
konsola.log (flatarray);

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();
konsola.log (flatarray);

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]]];
const flatarray = numarray.płaski (2);
konsola.log (flatarray);

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]]]]];
const flatarray = numarray.płaska (nieskończoność);
konsola.log (flatarray);

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.