Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

197
Visualizações
Empujar a un elemento en una matriz anidada es agregar a todos los elementos en javascript

Estoy creando una matriz anidada precargada y quiero enviar elementos a índices específicos, pero los elementos se agregan a todos los índices.

 let arr = new Array(4).fill([]) arr => Array(4) [ [], [], [], [] ] //this is what I want arr[0].push(3) arr => Array(4) [ [3], [3], [3], [3] ] //I only wanted to push 3 to first index, //why do all indexes have this element?

Cualquier ayuda sobre cómo actualizar solo un índice sería apreciada.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

let arr = new Array(4).fill([])

Esto está creando arr como una matriz de cuatro referencias a la misma matriz ( [] pasado como argumento). Por lo tanto, la modificación de cualquiera de las referencias modifica la matriz subyacente y, dado que todas ellas hacen referencia a ella, lo notará cuando registre el objeto.

 > arr[0] === arr[1] < true

Simplemente use un buen ol' for , o incluso simplemente [[],[],[],[]] si solo estamos hablando de 4 elementos.

 let arr = new Array(4) for (let i = 0; i < arr.length; i++) arr[i] = new Array()
 > arr[0] === arr[1] < false
about 4 years ago · Juan Pablo Isaza Relatório

0

Este método de inicialización da una matriz de longitud 4 con una matriz vacía en cada elemento:

[...Array(4)].map(() => []); // [[], [], [], []]

o por ejemplo puedes usar

[...Array(4)].map((_, i) => i); // and get [0, 1, 2, 3]

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda