JavaScript daudzdimensionāls masīvs

Šajā apmācībā jūs uzzināsit par JavaScript daudzdimensionāliem masīviem, izmantojot piemērus.

Daudzdimensionāls masīvs ir masīvs, kas satur citu masīvu. Piemēram,

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

Izveidojiet daudzdimensionālu masīvu

Lūk, kā jūs varat izveidot daudzdimensionālus masīvus JavaScript.

1. piemērs

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

2. piemērs

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

Šeit gan 1., gan 2. piemērā tiek izveidots daudzdimensionāls masīvs ar vienādiem datiem.

Piekļuves masīva elementiem

Varat piekļūt daudzdimensiju masīva elementiem, izmantojot indeksus (0, 1, 2…) . Piemēram,

 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

Jūs varat iedomāties daudzdimensionālu masīvu (šajā gadījumā x) kā tabulu ar 3 rindām un 2 kolonnām.

Piekļuve daudzdimensionāliem masīva elementiem

Pievienojiet elementu daudzdimensionālam masīvam

Lai pievienotu elementus daudzdimensiju masīvam, varat izmantot masīva push () metodi vai indeksēšanas apzīmējumu.

Elementa pievienošana ārējam masīvam

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

Elementa pievienošana iekšējam masīvam

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

Lai pievienotu elementu norādītajā indeksā, varat izmantot arī masīva savienojuma () metodi. Piemēram,

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

Noņemiet elementu no daudzdimensionāla masīva

Jūs varat izmantot masīva pop () metodi, lai noņemtu elementu no daudzdimensionāla masīva. Piemēram,

Noņemiet elementu no ārējā masīva

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

Noņemiet elementu no iekšējā masīva

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

splice()Metodi var izmantot arī elementa noņemšanai no norādītā indeksa. Piemēram,

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

Atkārtojas vairākdimensiju masīvā

Varat atkārtot vairākdimensiju masīvu, izmantojot metodi Array's forEach (), lai atkārtotu daudzdimensionālo masīvu. Piemēram,

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

Rezultāts

 Džeks 24 Sāra 23

Pirmo forEach()metodi izmanto, lai atkārtotu ārējos masīva elementus, bet otro forEach()- iekšējo masīvu elementu atkārtošanai.

Varat arī izmantot for… ofcilpu, lai atkārtotu vairākdimensiju masīvu. Piemēram,

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

Varat arī izmantot cilni for, lai atkārtotu vairākdimensionālu masīvu. Piemēram,

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

Interesanti raksti...