JavaScript-moniulotteinen taulukko

Tässä opetusohjelmassa opit JavaScriptin moniulotteisista taulukoista esimerkkien avulla.

Moniulotteinen taulukko on taulukko, joka sisältää toisen taulukon. Esimerkiksi,

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

Luo moniulotteinen taulukko

Näin voit luoda moniulotteisia taulukoita JavaScript-muodossa.

Esimerkki 1

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

Esimerkki 2

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

Tässä sekä esimerkki 1 että esimerkki 2 luovat moniulotteisen taulukon, jossa on samat tiedot.

Matriisin käyttöelementit

Voit käyttää moniulotteisen taulukon elementtejä indekseillä (0, 1, 2…) . Esimerkiksi,

 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

Voit ajatella moniulotteista taulukkoa (tässä tapauksessa x) taulukoksi, jossa on 3 riviä ja 2 saraketta.

Pääsy moniulotteisiin taulukkoelementteihin

Lisää elementti moniulotteiseen ryhmään

Voit lisätä elementtejä moniulotteiseen matriisiin Arrayn push () -menetelmällä tai indeksointimerkinnällä.

Elementin lisääminen ulompaan ryhmään

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

Elementin lisääminen sisäiseen ryhmään

 // 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"))

Voit lisätä elementin määritettyyn hakemistoon myös Array's splice () -menetelmällä. Esimerkiksi,

 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))

Poista elementti moniulotteisesta taulukosta

Array's pop () -menetelmällä voit poistaa elementin moniulotteisesta taulukosta. Esimerkiksi,

Poista elementti ulommasta ryhmästä

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

Poista elementti sisäisestä ryhmästä

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

splice()Menetelmän avulla voit myös poistaa elementin määritetystä hakemistosta. Esimerkiksi,

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

Toistuu moniulotteisen taulukon yli

Voit iteroida moniulotteisen taulukon avulla Array's forEach () -menetelmällä iteroida moniulotteisen taulukon yli. Esimerkiksi,

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

Tuotos

 Jack 24 Sara 23

Ensimmäistä forEach()menetelmää käytetään iteroimaan ulompien matriisielementtien yli ja toista forEach()käytetään iteroimaan sisäisten matriisielementtien yli.

Voit myös käyttää for… ofsilmukkaa iteroimaan moniulotteisen taulukon yli. Esimerkiksi,

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

Voit myös for for -silmukkaa iteroida moniulotteisen taulukon yli. Esimerkiksi,

 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)); ) )

Mielenkiintoisia artikkeleita...