Večdimenzionalno polje JavaScript

V tej vadnici boste s pomočjo primerov spoznali večdimenzionalna polja JavaScript.

Večdimenzionalno polje je polje, ki vsebuje drugo polje. Na primer

 // multidimensional array const data = ((1, 2, 3), (1, 3, 4), (4, 5, 6));

Ustvari večdimenzionalno matriko

Tukaj je opisano, kako lahko v JavaScript ustvarite večdimenzionalne nize.

Primer 1

 let studentsData = (('Jack', 24), ('Sara', 23), ('Peter', 24));

2. primer

 let student1 = ('Jack', 24); let student2 = ('Sara', 23); let student3 = ('Peter', 24); // multidimensional array let studentsData = (student1, student2, student3);

Tako primer 1 kot primer 2 ustvarita večdimenzionalno matriko z enakimi podatki.

Dostop do elementov polja

Do elementov večdimenzionalnega polja lahko dostopate s pomočjo indeksov (0, 1, 2…) . Na primer

 let x = ( ('Jack', 24), ('Sara', 23), ('Peter', 24) ); // access the first item console.log(x(0)); // ("Jack", 24) // access the first item of the first inner array console.log(x(0)(0)); // Jack // access the second item of the third inner array console.log(x(2)(1)); // 24

Večdimenzionalno polje (v tem primeru x) si lahko predstavljate kot tabelo s 3 vrsticami in 2 stolpcema.

Dostop do večdimenzionalnih elementov matrike

Dodajte element v večdimenzionalno polje

Za dodajanje elementov v večdimenzionalno matriko lahko uporabite metodo Array's push () ali indeksacijski zapis.

Dodajanje elementa zunanjemu polju

 let studentsData = (('Jack', 24), ('Sara', 23),); studentsData.push(('Peter', 24)); console.log(studentsData); //(("Jack", 24), ("Sara", 23), ("Peter", 24)

Dodajanje elementa v notranje polje

 // using index notation let studentsData = (('Jack', 24), ('Sara', 23),); studentsData(1)(2) = 'hello'; console.log(studentsData); // (("Jack", 24), ("Sara", 23, "hello"))
 // using push() let studentsData = (('Jack', 24), ('Sara', 23),); studentsData(1).push('hello'); console.log(studentsData); // (("Jack", 24), ("Sara", 23, "hello"))

Za dodajanje elementa z določenim indeksom lahko uporabite tudi metodo Array's splice (). Na primer

 let studentsData = (('Jack', 24), ('Sara', 23),); // adding element at 1 index studentsData.splice(1, 0, ('Peter', 24)); console.log(studentsData); // (("Jack", 24), ("Peter", 24), ("Sara", 23))

Odstranite element iz večdimenzionalnega polja

Z metodo Array's pop () lahko element odstranite iz večdimenzionalnega polja. Na primer

Odstranite element iz zunanjega polja

 // remove the array element from outer array let studentsData = (('Jack', 24), ('Sara', 23),); studentsData.pop(); console.log(studentsData); // (("Jack", 24))

Odstranite element iz notranjega polja

 // remove the element from the inner array let studentsData = (('Jack', 24), ('Sara', 23)); studentsData(1).pop(); console.log(studentsData); // (("Jack", 24), ("Sara"))

Z splice()metodo lahko odstranite tudi element z določenim indeksom. Na primer

 let studentsData = (('Jack', 24), ('Sara', 23),); // removing 1 index array item studentsData.splice(1,1); console.log(studentsData); // (("Jack", 24))

Ponavljanje nad večdimenzionalnim poljem

Če želite itirirati večdimenzionalno polje, lahko pregledujete večdimenzionalno polje z uporabo metode Array's forEach (). Na primer

 let studentsData = (('Jack', 24), ('Sara', 23),); // iterating over the studentsData studentsData.forEach((student) => ( student.forEach((data) => ( console.log(data); )); ));

Izhod

 Jack 24 Sara 23

Prva forEach()metoda se uporablja za iteracijo nad zunanjimi elementi matrike, druga forEach()pa za iteracijo po notranjih elementih matrike.

for… ofZanko lahko uporabite tudi za ponovitev večdimenzionalnega polja. Na primer

 let studentsData = (('Jack', 24), ('Sara', 23),); for (let i of studentsData) ( for (let j of i) ( console.log(j); ) )

Zanko for lahko uporabite tudi za iteracijo večdimenzionalnega polja. Na primer

 let studentsData = (('Jack', 24), ('Sara', 23),); // looping outer array elements for(let i = 0; i < studentsData.length; i++)( // get the length of the inner array elements let innerArrayLength = studentsData(i).length; // looping inner array elements for(let j = 0; j < innerArrayLength; j++) ( console.log(studentsData(i)(j)); ) )

Zanimive Članki...