Многоизмерен масив на JavaScript

В този урок ще научите за многомерните масиви на JavaScript с помощта на примери.

Многомерният масив е масив, който съдържа друг масив. Например,

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

Създайте многомерен масив

Ето как можете да създавате многомерни масиви в JavaScript.

Пример 1

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

Пример 2

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

Тук и пример 1, и пример 2 създават многомерен масив със същите данни.

Достъп до елементи на масив

Можете да получите достъп до елементите на многоизмерен масив, като използвате индекси (0, 1, 2 …) . Например,

 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

Можете да мислите за многомерен масив (в случая x) като таблица с 3 реда и 2 колони.

Достъп до многомерни елементи на масив

Добавете елемент към многоизмерен масив

Можете да използвате метода на push () на Array или нотация за индексиране, за да добавите елементи към многомерен масив.

Добавяне на елемент към външния масив

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

Добавяне на елемент към вътрешния масив

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

Можете също да използвате метода на splice () на Array, за да добавите елемент с определен индекс. Например,

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

Премахнете елемент от многомерен масив

Можете да използвате метода на pop () на Array, за да премахнете елемента от многомерен масив. Например,

Премахнете елемента от външния масив

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

Премахнете елемента от вътрешния масив

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

Можете също да използвате splice()метода за премахване на елемент с определен индекс. Например,

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

Итерация върху многоизмерен масив

Можете да прегледате многоизмерен масив, като използвате метода на Array's forEach (), за да прегледате многомерния масив. Например,

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

Изход

 Джак 24 Сара 23

Първият forEach()метод се използва за итерация по външните елементи на масива, а вторият forEach()се използва за итерация върху вътрешните елементи на масива.

Можете също да използвате for… ofцикъла, за да прегледате многомерния масив. Например,

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

Можете също да използвате цикъла for, за да итерирате многоизмерен масив. Например,

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

Интересни статии...