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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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]
-> 4E 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!