Neste tutorial, você aprenderá sobre os arrays multidimensionais do JavaScript com a ajuda de exemplos.
Uma matriz multidimensional é uma matriz que contém outra matriz. Por exemplo,
// multidimensional array const data = ((1, 2, 3), (1, 3, 4), (4, 5, 6));
Crie uma matriz multidimensional
Aqui está como você pode criar matrizes multidimensionais em JavaScript.
Exemplo 1
let studentsData = (('Jack', 24), ('Sara', 23), ('Peter', 24));
Exemplo 2
let student1 = ('Jack', 24); let student2 = ('Sara', 23); let student3 = ('Peter', 24); // multidimensional array let studentsData = (student1, student2, student3);
Aqui, o exemplo 1 e o exemplo 2 criam uma matriz multidimensional com os mesmos dados.
Elementos de acesso de uma matriz
Você pode acessar os elementos de uma matriz multidimensional usando índices (0, 1, 2 …) . Por exemplo,
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
Você pode pensar em uma matriz multidimensional (neste caso, x), como uma tabela com 3 linhas e 2 colunas.

Adicionar um elemento a uma matriz multidimensional
Você pode usar o método push () do Array ou uma notação de indexação para adicionar elementos a um array multidimensional.
Adicionando Elemento à Matriz Externa
let studentsData = (('Jack', 24), ('Sara', 23),); studentsData.push(('Peter', 24)); console.log(studentsData); //(("Jack", 24), ("Sara", 23), ("Peter", 24)
Adicionando Elemento à Matriz Interna
// 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"))
Você também pode usar o método splice () do Array para adicionar um elemento em um índice especificado. Por exemplo,
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))
Remover um elemento de uma matriz multidimensional
Você pode usar o método pop () do Array para remover o elemento de um array multidimensional. Por exemplo,
Remover Elemento da Matriz Externa
// remove the array element from outer array let studentsData = (('Jack', 24), ('Sara', 23),); studentsData.pop(); console.log(studentsData); // (("Jack", 24))
Remover o elemento da matriz interna
// remove the element from the inner array let studentsData = (('Jack', 24), ('Sara', 23)); studentsData(1).pop(); console.log(studentsData); // (("Jack", 24), ("Sara"))
Você também pode usar o splice()
método para remover um elemento em um índice especificado. Por exemplo,
let studentsData = (('Jack', 24), ('Sara', 23),); // removing 1 index array item studentsData.splice(1,1); console.log(studentsData); // (("Jack", 24))
Iterando em Array Multidimensional
Você pode iterar em uma matriz multidimensional usando o método forEach () do Array para iterar em uma matriz multidimensional. Por exemplo,
let studentsData = (('Jack', 24), ('Sara', 23),); // iterating over the studentsData studentsData.forEach((student) => ( student.forEach((data) => ( console.log(data); )); ));
Resultado
Jack 24 Sara 23
O primeiro forEach()
método é usado para iterar sobre os elementos externos da matriz e o segundo forEach()
é usado para iterar sobre os elementos internos da matriz.
Você também pode usar o for… of
loop para iterar na matriz multidimensional. Por exemplo,
let studentsData = (('Jack', 24), ('Sara', 23),); for (let i of studentsData) ( for (let j of i) ( console.log(j); ) )
Você também pode usar o loop for para iterar em uma matriz multidimensional. Por exemplo,
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)); ) )