Hvordan fungerer nestet matrise i JavaScript

Hvordan fungerer nestet matrise i JavaScript
I JavaScript, når en indre matrise eller underarray legges til en matrise, er det kjent som en "Multi-dimensjonaL ”eller“Nestet”Array. JavaScript gir ikke et eksplisitt format for å lage et nestet utvalg; Derfor må vi hekke de nødvendige undergårdene i en enkelt ytre matrise. Også elementene i indre matriser er tilgjengelig basert på deres indeks i den ytre matrisen.

Etter å ha erklært en nestet matrise i JavaScript, kan du utføre forskjellige operasjoner på det, for eksempel å legge til under-array Beslektet element, og redusere dimensjonaliteten til den nestede matrisen.

Denne oppskrivningen vil forklare arbeider av nestede matriser i JavaScript ved hjelp av passende eksempler. Så la oss starte!

Hvordan lage et nestet utvalg i JavaScript

For å lage et nestet utvalg i JavaScript, må du følge den undergitte syntaks:

la array = [[inner_array1], [inner_array2], [inner_array3]…];

Her “Array”Representerer den nestede matrisen som inneholder flere indre gebyrer som“indre_array1”,“indre_array2”,“indre_array3”.

Eksempel: Hvordan lage et nestet utvalg i JavaScript

Vi vil lage et flerdimensjonalt eller nestet utvalg som heter “hobbyer”Som videre omfatter fem indre matriser:

La hobbyer = [
['Lesing', 4],
['Hagearbeid', 2],
['Gaming', 1],
['Maleri', 8],
['Cooking', 5]
];

I erklærte “hobbyer”Array, den ekstra første dimensjonen representerer“Hobby,”Og det andre indikerer det maksimale antallet“timer ” brukt mens du gjorde den aktiviteten.

Nå, for å vise den opprettet "hobbyer”Nestet matrise, vi bruker“konsoll.bord()”Metode mens du passerer“hobbyer”Array som et argument:

konsoll.tabell (hobbyer);

Utførelse av den ovennevnte koden vil vise verdiene til "hobbyer”Array i et bordformat, der Første kolonne representerer indeks av indre matriser og den andre To kolonner Inneholder elementene deres som er til stede ved den første “[0]”Og andre”[1]”Indeks:

Hvordan få tilgang til elementer av nestede matriser i JavaScript

Trenger tilgang til elementene i et nestet utvalg? Hvis ja, så ta en titt på syntaksen under gitt:

Array.[a] [b]

Her, “en”Representerer indeksen for“indre”Array i det opprettede nestet matrisen, og“b”Representerer indeksen for“element”I den spesifiserte indre eller sub-array.

Eksempel: Hvordan få tilgang til elementer av nestede matriser i JavaScript

For eksempel ønsker vi å få tilgang til “Matlaging”Hobby som eksisterer som“Først”Element“ [0] ”Av den femte indre matrisen“ [4] ”:

For å utføre den spesifiserte operasjonen, vil vi utføre den undergitte kodeoppgaven:

konsoll.logg (hobbyer [4] [0]);

Som du kan se fra utdataene, har vi fått tilgang til verdien av "hobbyer”Array som er plassert ved den første indeksen av den femte indre matrisen:

Hvordan legge til elementer til nestet matrise i JavaScript

JavaScript tilbyr to måter å legge til elementer til et allerede opprettet nestet utvalg; Enten kan du vedlegg et element på slutt av en matrise som bruker "trykk()”Metode eller sett den inn i en spesifikk stilling ved hjelp av “Splice ()”Metode.

Eksempel: Hvordan legge til elementer til nestet matrise i JavaScript

Å skyve “[Sykling, 6]”Underarrang som på slutten av“hobbyer”Nestet matrise, vil vi gi det som et argument til“hobbyer.trykk()”Metode:

hobbyer.Push (['Cycling', 6]);
konsoll.tabell (hobbyer);

Når de gitte “hobbyer.trykk()”Blir utført, det vil legge til den spesifiserte underarrangen på slutten av"hobbyer”Array:

Mens for å sette inn en underoppdrag midt i andre indre matriser, kan du bruke "Splice ()”Metode på følgende måte:

hobbyer.spleise (1, 0, ['sang', 3]);
konsoll.tabell (hobbyer);

Her, "hobbyer.Splice ()”Metoden vil overskrive“hobbyer”Array og legg til“['Singing', 3]”Sub-array på den andre posisjonen:

Til dette punktet har vi lært prosedyren for å lage et nestet utvalg og legge til elementer til det. I neste avsnitt vil vi snakke om å iterere over elementene i et nestet utvalg i JavaScript.

Hvordan iterere over elementene i nestet matrise i JavaScript

Du vet kanskje at JavaScript "til”Loop brukes først og fremst til å iterere over elementene i en matrise. Som i vårt tilfelle har vi imidlertid en "nestet”Array, så vi vil legge til to”til”Løkker hekket i den andre.

Eksempel: Hvordan iterere over elementene i nestet matrise i JavaScript

De først Løkke "til”Loop vil iterere over ytre matrise elementer i henhold til størrelsen og dens nestet “til”Loop vil utføre iterasjonen over indre undergarriser:

for (leti = 0; iVarinnerArrayLength = Hobbyer [i].lengde;
for (la j = 0; j konsoll.log ('[' + i + ',' + j + '] =' + hobbyer [i] [j]);

Den spesifiserte iterasjonsoperasjonen vil vise alle elementene i "hobbyer”Nestet matrise:

Du kan også bruke “For hver()”Metode for samme formål.

Hvordan flate en nestet matrise i JavaScript

Det er visse scenarier der du kanskje trenger å lage en matrise som består av alle de nestede JavaScript -arrayelementene i sin opprinnelige rekkefølge. Hvis det er tilfelle, så Flat Det skapte nestede matrisen for å redusere dimensjonaliteten.

Array.flat()”Metoden er innebygd i ES6, som hjelper til Flating en nestet JavaScript -matrise. Denne metoden returnerer en ny matrise etter sammenkobling av alle elementene under gebyrene.

Eksempel: Hvordan flate en nestet matrise i JavaScript

For eksempel for å flate ut “for eksempelhobbyer”Array, vi vil utføre følgende kode i konsollvinduet:

const flatarray = hobbyer.flat();
konsoll.Logg (FlatArray);

Det gitte “hobbyer.flat()”Metode vil redusere dimensjonaliteten til“hobbyer”Array og flat elementene i den indre matrisen:

Hvordan slette elementer av nestet matrise i JavaScript

For å fjerne elementer fra eventuelle underarriser av et nestet utvalg, bruk "pop ()”Metode. “pop ()”Metode sletter vanligvis den siste indre arrayen fra et nestet utvalg; Imidlertid hjelper det også med å fjerne elementer fra indre matriser.

Eksempel: Hvordan slette elementer av nestet matrise i JavaScript

Før du bruker "pop ()”Metode, vi har følgende undergarriser i“hobbyer”Nestet matrise:

Nå når vi påkaller “pop ()”Metode, den siste underarrangen vil bli slettet sammen med elementene:

hobbyer.pop ();
konsoll.tabell (hobbyer);

Produksjon

For å fjerne det andre elementet i hver “Underarrang”, Vi vil iterere gjennom“hobbyer”Array ved å bruke“for hver()”Metode, og ved hver iterasjon“pop ()”Metode sletter elementet plassert ved den første indeksen:

hobbyer.foreach ((hobby) =>
Hobby.pop (1);
);
konsoll.tabell (hobbyer);

Det kan sees i den undergitte utgangen at elementet som representerer det maksimale antall timer brukt på hver hobby, blir slettet for alle under-arrays:

Vi har samlet all viktig informasjon relatert til arbeid med nestede matriser i JavaScript. Du kan utforske dem ytterligere i henhold til dine preferanser.

Konklusjon

Når en indre matrise eller underarray legges til en ytre matrise, kalles det en Nestet matrise. Etter å ha opprettet et javascript nestet matrise, kan du bruke "trykk()”Og“Splice ()”Metode for å legge til elementer,”for sløyfe”Og“for hver()”Metode for å iterere over elementene i de indre matriser,”flat()”Metode for å redusere dimensjonaliteten, og“pop ()”Metode for å slette undergarriser eller deres elementer fra de nestede matriserene. Denne oppskrivningen forklarte arbeidet med nestede løkker i JavaScript.