„JavaScript“ daugiamatis masyvas

Šioje pamokoje naudodamiesi pavyzdžiais sužinosite apie „JavaScript“ daugiamačius masyvus.

Daugiamatis masyvas yra masyvas, kuriame yra kitas masyvas. Pavyzdžiui,

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

Sukurkite daugiamatę masyvą

Štai kaip galite sukurti daugialypius masyvus „JavaScript“.

1 pavyzdys

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

2 pavyzdys

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

Čia tiek 1, tiek 2 pavyzdyje sukuriama daugiamačių masyvas su tais pačiais duomenimis.

Priėjimas prie masyvo elementų

Daugialypio masyvo elementus galite pasiekti naudodami indeksus (0, 1, 2 …) . Pavyzdžiui,

 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

Daugialypį masyvą (šiuo atveju x) galite galvoti kaip lentelę su 3 eilutėmis ir 2 stulpeliais.

Prieiga prie daugiamačių masyvo elementų

Pridėkite elementą prie daugiamatės masyvo

Norėdami pridėti elementų prie daugiamatės masyvo, galite naudoti „Array“ stūmimo () metodą arba indeksavimo žymėjimą.

Elemento pridėjimas prie išorinio masyvo

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

Elemento pridėjimas prie vidinio masyvo

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

Norėdami pridėti elementą prie nurodyto indekso, taip pat galite naudoti Array's splice () metodą. Pavyzdžiui,

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

Pašalinkite elementą iš daugiamatės masyvo

Norėdami pašalinti elementą iš daugiamatės masyvo, galite naudoti Array pop () metodą. Pavyzdžiui,

Pašalinkite elementą iš išorinio masyvo

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

Pašalinkite elementą iš vidinio masyvo

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

Taip pat galite naudoti splice()metodą pašalinti elementą iš nurodyto indekso. Pavyzdžiui,

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

Kartojasi per daugiamatę masyvą

Norėdami pakartoti daugiamatį masyvą, galite kartoti daugiamatį masyvą naudodami „Array's forEach ()“ metodą. Pavyzdžiui,

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

Rezultatas

 Džekas 24 Sara 23

Pirmasis forEach()metodas naudojamas kartojant išorinius masyvo elementus, o antrasis forEach()- vidinių masyvo elementų kartojimui.

Taip pat galite naudoti for… ofkilpą, norėdami kartoti daugiamatį masyvą. Pavyzdžiui,

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

Taip pat galite naudoti ciklą „for“, norėdami kartoti daugiamatį masyvą. Pavyzdžiui,

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

Įdomios straipsniai...