Dette innlegget vil forklare metodene for Flat en Nestet JavaScript -matrise. Men før vi hopper inn i det, vil vi forklare begrepet "dybde”Som det er assosiert med utflatingsprosedyren.
Dybde av nestet javascript -matrise
Operasjonen med å legge til en indre matrise eller hekke en rekke i normale array -trinn "1”I dybde nivå. For eksempel, uten nestet matrise, vil en normal matrise ha en "0”Dybde nivå:
[12, 23, 34, 45, 56, 67, 78] // dybde nivå = 0Med en indre underarray vil dybdenivået bli "1”:
[12, 23, 34, [45, 56, 67, 78]] // Dybde nivå = 1Tilsvarende vil det å øke antallet indre underarray også øke dybdennivået:
[12, 23, [34, [45, 56, 67, 78]]] // dybde nivå = 2Nå, sjekk ut metoden for å flate en matrise i JavaScript -versjonen før ES6.
Hvordan flate en nestet JavaScript -matrise ved hjelp av concat () -metode og spredt operatør […]
Kombinasjonen av “concat ()”Metode og“Spred operatør […]”Metode brukes til å flate ut en nestet JavaScript -matrise på slik som den spredte operatøren […] sprer elementene i den spesifiserte matrisen og deretter sammenkobler dem i en tom matrise ved hjelp av JavaScript concat () -metoden:
La matrise = [12, 23, [43, 34, 56]];Produksjon
Imidlertid flater denne tilnærmingen bare nivået en nestede matriser:
const numarray = [12, 23, [34, 45, 56, [67, 78]]];Den ovennevnte koden vil legge til den indre rekke "numarray”Som en helhet til“FlatArray”Siden det ikke kan spre elementene:
Hva om du må flate ut et dypt nestet utvalg? For å gjøre det, kan du bruke "Array.flat ()”Metode som tilbys av ES6 JavaScript -versjonen.
Hvordan flate en nestet JavaScript -matrise ved hjelp av matrise.Flat () Metode
“Array.flat()”Metoden er innebygd i ES6 som gjør deg i stand til å "Flat”En nestet JavaScript -matrise. Denne metoden returnerer en ny matrise der alle elementene i undergård er sammenkoblet i henhold til den spesifiserte dybden.
Syntaks av matrise.Flat () Metode for å flate en nestet JavaScript -matrise
La NewArray = matrise.flat ([dybde])Her, "Array”Objekt vil påkalle“flat()”Metode mens du passerer”dybde”Som et argument.
La oss nå sjekke noen eksempler for å forstå det uttalte konseptet.
Eksempel 1: Hvordan flate en nestet JavaScript -matrise med en nivå dybde
Først av alt vil vi lage en nestet JavaScript-matrise som har følgende elementer og en underarray:
const numarray = [12, 23, [34, 45, 56]];Deretter vil vi flate det skapte nestet “numarray”Ved hjelp av“flat()”Metode:
const flatArray = numarray.flat();Vi har ikke passert “dybde”Argument, så“numarray.flat()”Vil vurdere standarddybdeverdien, som er“1”Og sammenkobler JavaScript nestede matriseelementer 34, 45, 56 til det nyopprettede "FlatArray”:
Eksempel 2: Hvordan flate en nestet JavaScript-matrise med to-nivå dybde
I det følgende eksempel vil vi spesifisere “2”Som“dybde”Nivå. Ved å gjøre det “numarray.flat()”Vil flate de indre to undergårdene og legge sine elementer i det resulterende”FlatArray ()”:
const numarray = [12, 23, [34, 45, 56, [67, 78]]];Utførelse av det gitte programmet vil vise følgende utgang:
Eksempel 3: Hvordan flate ut en nestet JavaScript -matrise uten å vite dybdenivået
Hvis du ikke har noen anelse om dybdivået, pass "evighet”Som et argument for“Array.flat()”Metode. I dette tilfellet er alle elementer under gebyrene "rekursivt”Sammenlignet til et annet utvalg.
For eksempel for å flate ut det undergitte "numarray”, Vil vi spesifisere“evighet”I stedet for dybdivået argumenterer:
const numarray = [12, 23, [34, 45, 56, [67, 78, [89, 90]]];Som du kan se, “numarray.flat()”Metoden har med hell flatet den nestede”numarray”:
Det var all den essensielle informasjonen relatert til å flate en matrise i JavaScript. Du kan jobbe videre med det i henhold til dine preferanser.
Konklusjon
De Array.flat() Metoden brukes først og fremst for å flate ut en nestet JavaScript -matrise. Den godtar dybde Nivå som et argument og returnerer en ny matrise der alle elementene i under-gebyrene er sammenkoblet i henhold til den spesifiserte dybden. Før ES6, kombinasjonen av noen innebygde metoder som for eksempel concat () og spredt operatør […] kan bare flate ut nivå en -matrisen; Imidlertid Array.flat() Metode hjelper til med å flate dypt nestede matriser. Denne oppskrivningen forklarte prosedyren for å flate en matrise i JavaScript.