Estou trabalhando com um projeto paralelo ao curso, para já ir colocando em prática o que estou aprendendo. E me surgiu essa dúvida; "É possível criar uma Array dentro de outra Array?". Se sim, como eu faria isso?
Estou trabalhando com um projeto paralelo ao curso, para já ir colocando em prática o que estou aprendendo. E me surgiu essa dúvida; "É possível criar uma Array dentro de outra Array?". Se sim, como eu faria isso?
Olá Thiago, tudo bem?
É possível sim, podemos colocar quantos arrays quisermos dentro da nossa estrutura!
Nesse sentido nós podemos trabalhar com array
com a notação de chaves para ficar mais simples a visualização, no caso:
new Array( 1, 2, 3, 4, 5);
É a mesma coisa que: const array = [ 1, 2, 3, 4, 5]
Dessa maneira nosso array com outro array pode ser:
1. Maneira do Instrutor
new Array( 1 , new Array(2, 3) , 4, 5)
2. Maneira Literal
const array = [ 1, [2, 3 ], 4, 5]
Eu iria sempre preferir a maneira literal, pois quem esta lendo o código tem uma melhor visibilidade dos dados :)
Tipicamente quando temos um array de arrays estamos trabalhando com matrizes por exemplo:
const matriz = [ [1, 2], [3, 4]]
Aqui temos uma matriz de 2x2 para pegar valores iremos utilizar duas vezes o símbolo de []
, por exemplo:
matriz[0][1]
Primeiro elemento (0) da matriz mais externa, no caso [1, 2]
, depois segundo elemento (1) da matriz interna, no caso 2
matriz[1][1]
-> 4
E podemos percorrer da seguinte maneira:
const array = [ 1, [2, 3], 4, 5, [6, 7, 8, 9, 10]]
const matriz = [ [1, 2], [3, 4]]
for(let i = 0; i < array.length; i++){
for( let j = 0; j < array[i].length; j++){
console.log(`Posição ${i} e Posição ${j}`)
console.log(`Valor da posição array[${i}][${j}]: ${array[i][j]}`)
}
}
Aqui você pode substituir no laço for
onde está array
por matriz, para ver as duas execuções, mas terá algo parecido com:
No exemplo da matriz
Posição 0 e Posição 0
Valor da posição array[0][0]: 1
Posição 0 e Posição 1
Valor da posição array[0][1]: 2
Posição 1 e Posição 0
Valor da posição array[1][0]: 3
Posição 1 e Posição 1
Valor da posição array[1][1]: 4
`
No exemplo do array
Posição 1 e Posição 0
Valor da posição array[1][0]: 2
Posição 1 e Posição 1
Valor da posição array[1][1]: 3
Posição 4 e Posição 0
Valor da posição array[4][0]: 6
Posição 4 e Posição 1
Valor da posição array[4][1]: 7
Posição 4 e Posição 2
Valor da posição array[4][2]: 8
Posição 4 e Posição 3
Valor da posição array[4][3]: 9
Posição 4 e Posição 4
Valor da posição array[4][4]: 10
`
Veja que quando o elemento é apenas um número e não outro array ele não entra dentro do segundo for
:)
Conseguiu Compreender? Qualquer coisa estou à disposição!
Abraços e Bons Estudos =D
Cara, isso ficou muito bem detalhado. Consegui compreender sim, o exemplo de laço também me ajudou muito, pois pretendia fazer um no meu projeto e estava pensando em como fazer. Muito obrigado pela ajuda!