Come appiattire un array javascript nidificato

Come appiattire un array javascript nidificato
JavaScript Array ha la capacità di archiviare più array in sé. Quando un array interno o un sotto-array viene aggiunto a un array, è noto come "Multidimensionale" O "Nidificato" vettore. Esistono alcuni scenari in cui potresti dover creare un array che comprenda tutti gli elementi di array JavaScript nidificati nel loro ordine originale. Se è così, allora appiattire l'array nidificato creato e ne riduce la dimensionalità secondo il specificato profondità.

Questo post spiegherà i metodi a appiattire UN Array javascript nidificato. Ma prima di saltarci dentro, spiegheremo il termine "profondità"Come è associato alla procedura di appiattimento.

Profondità dell'array javascript nidificato

Il funzionamento dell'aggiunta di un array interno o di nidificare un array con incrementi di array normali "1" nel Livello di profondità. Ad esempio, senza un array nidificato, un array normale avrà un "0"Livello di profondità:

[12, 23, 34, 45, 56, 67, 78] // Livello di profondità = 0

Con un sotto-array interno, il livello di profondità diventerà "1":

[12, 23, 34, [45, 56, 67, 78]] // Livello di profondità = 1

Allo stesso modo, aumentare il numero di sotto-array interno aumenterà anche il livello di profondità:

[12, 23, [34, [45, 56, 67, 78]]] // Livello di profondità = 2
[12, [23, [34, [45, 56, 67, 78]]] // Livello di profondità = 3

Ora, controlla il metodo di appiattire un array nella versione JavaScript prima di ES6.

Come appiattire un array JavaScript nidificato usando il metodo Concat () e diffondere l'operatore […]

La combinazione di "concat ()Metodo e "Distribuisci operatore […]"Il metodo viene utilizzato per appiattire un array JavaScript nidificato come il modo in cui l'operatore di diffusione […] ha diffuso gli elementi dell'array specificato e quindi concatenarli in un array vuoto usando il metodo JavaScript Concat ():

Array let = [12, 23, [43, 34, 56]];
Let FlatArray = [].concat (... array);
console.Log (FlataRray);

Produzione

Tuttavia, questo approccio appiattisce solo le matrici nidificate di livello uno:

const numraray = [12, 23, [34, 45, 56, [67, 78]]];
Let FlatArray = [].Concat (... NumArray);
console.Log (FlataRray);

Il codice sopra dato aggiungerà l'array interno di "NUMARRAY"Nel suo insieme a"FlatArray"Poiché non può diffondere i suoi elementi:

E se dovessi appiattire un array profondamente nidificato? Per farlo, puoi utilizzare il "Vettore.appiattire()"Metodo offerto dalla versione ES6 JavaScript.

Come appiattire un array JavaScript nidificato usando l'array.metodo flat ()

IL "Vettore.Piatto()"Il metodo è incorporato Es6 Questo ti consente di "appiattire"Un array javascript nidificato. Questo metodo restituisce un nuovo array in cui tutti gli elementi dei sotto-array sono concatenati in base alla profondità specificata.

Sintassi di array.Metodo flat () per appiattire un array javascript nidificato

Let newarray = array.piatto ([profondità])

Qui, il "Vettore"L'oggetto invocherà il"Piatto()"Metodo durante il passaggio"profondità"Come argomento.

Ora controlliamo alcuni esempi per capire il concetto dichiarato.

Esempio 1: come appiattire un array javascript nidificato con una profondità di livello

Prima di tutto, creeremo un array JavaScript nidificato con i seguenti elementi e un sotto-array:

const numraray = [12, 23, [34, 45, 56]];

Quindi, appiattiremo il nidificato creato "NUMARRAY"Con l'aiuto del"Piatto()" metodo:

const flatarray = NUMARRAY.Piatto();
console.Log (FlataRray);

Non abbiamo superato il "profondità"Argomento, quindi il"NUMARRAY.Piatto()"Considererà il valore di profondità predefinito, che è"1"E concatena gli elementi di array nidificati JavaScript 34, 45, 56 al nuovo creato "FlatArray":

Esempio 2: come appiattire un array javascript nidificato con profondità a due livelli

Nel seguente esempio, specificheremo "2" come il "profondità"Livello. Dopo averlo fatto il "NUMARRAY.Piatto()"Appiatticherà i due sotto-array interni e aggiungerà i loro elementi nel risultato"FlatArray ()":

const numraray = [12, 23, [34, 45, 56, [67, 78]]];
const flatarray = NUMARRAY.piatto (2);
console.Log (FlataRray);

L'esecuzione del programma dato mostrerà il seguente output:

Esempio 3: come appiattire un array javascript nidificato senza conoscere il livello di profondità

Se non hai idea del livello di profondità dell'array, passa "infinito"Come argomento al"Vettore.Piatto()" metodo. In questo caso, tutti gli elementi dei sotto-array sono "ricorsivamente"Concaterato in un altro array.

Ad esempio, per appiattire il sottoto "NUMARRAY", Specificheremo"infinito"Al posto dell'argomento del livello di profondità:

const numraray = [12, 23, [34, 45, 56, [67, 78, [89, 90]]]];
const flatarray = NUMARRAY.piatto (infinito);
console.Log (FlataRray);

Come puoi vedere, il "NUMARRAY.Piatto()"Il metodo ha appiattito con successo il nidificato"NUMARRAY":

Queste erano tutte le informazioni essenziali relative all'appiattimento di un array in JavaScript. Puoi lavorarci ulteriormente in base alle tue preferenze.

Conclusione

IL Vettore.Piatto() Il metodo viene utilizzato principalmente per appiattire un array javascript nidificato. Accetta il profondità Livello come argomento e restituisce un nuovo array in cui tutti gli elementi dei sotto-array sono concatenati in base alla profondità specificata. Prima di ES6, la combinazione di alcuni metodi integrati come concat () E operatore di diffusione […] può solo appiattire l'array di livello uno; comunque, il Vettore.Piatto() Il metodo aiuta a appiattire array profondamente nidificato. Questo articolo ha spiegato la procedura per appiattire un array in JavaScript.