JavaScript flerdimensionellt array

I den här handledningen lär du dig mer om JavaScript-flerdimensionella matriser med hjälp av exempel.

En flerdimensionell matris är en matris som innehåller en annan matris. Till exempel,

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

Skapa en flerdimensionell matris

Så här kan du skapa flerdimensionella matriser i JavaScript.

Exempel 1

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

Exempel 2

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

Här skapar både exempel 1 och exempel 2 en flerdimensionell matris med samma data.

Åtkomst till element i en matris

Du kan komma åt elementen i en flerdimensionell matris med hjälp av index (0, 1, 2 …) . Till exempel,

 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

Du kan tänka på en flerdimensionell matris (i det här fallet x) som en tabell med 3 rader och 2 kolumner.

Åtkomst till flerdimensionella arrayelement

Lägg till ett element i en flerdimensionell matris

Du kan använda Array's push () -metod eller en indexeringsnotation för att lägga till element i en flerdimensionell matris.

Lägger till element i den yttre matrisen

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

Lägga till element i den inre matrisen

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

Du kan också använda Array's splice () -metod för att lägga till ett element i ett angivet index. Till exempel,

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

Ta bort ett element från en flerdimensionell matris

Du kan använda Array's pop () -metod för att ta bort elementet från en flerdimensionell matris. Till exempel,

Ta bort Element från Outer Array

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

Ta bort Element från Inner Array

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

Du kan också använda splice()metoden för att ta bort ett element i ett angivet index. Till exempel,

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

Iterera över flerdimensionell matris

Du kan itera över en flerdimensionell array med hjälp av Array's forEach () -metoden för att itera över den flerdimensionella arrayen. Till exempel,

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

Produktion

 Jack 24 Sara 23

Den första forEach()metoden används för att itera över de yttre gruppelementen och den andra forEach()används för att itera över de inre gruppelementen.

Du kan också använda for… ofslingan för att itera över den flerdimensionella matrisen. Till exempel,

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

Du kan också använda for-loop för att itera över en flerdimensionell matris. Till exempel,

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

Intressanta artiklar...