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

231
Visualizações
¿Cómo agrego una matriz, la cambio y la agrego nuevamente?

Tengo este código para ensamblar una matriz a partir de otra matriz. Pero no estoy seguro de por qué SOLO copia el último valor (Valor: 4).

 function test1() { var a = []; var b = [{"Value": 0}]; for (let i = 0; i < 5; i++) { b[0].Value = i; a = a.concat(b); console.log(a) } }

Creo que estoy haciendo esto:

  1. Agregue la matriz b a la matriz a[0]
  2. Cambiar matriz b
  3. Continúe con la siguiente ranura a[1], a[2], a[3], etc.

El problema es el resultado, en el primer ciclo (i=0) ya devolvió:

 a[0]: {Value: 4}

Y en el último ciclo, todos los valores son 4:

 a: { a[0]: {Value: 4}, a[1]: {Value: 4}, a[2]: {Value: 4}, a[3]: {Value: 4}, a[4]: {Value: 4} }

Quería que el resultado fuera:

 a: { a[0]: {Value: 0}, a[1]: {Value: 1}, a[2]: {Value: 2}, a[3]: {Value: 3}, a[4]: {Value: 4} }

¿Cómo logro este resultado?

Para qué estoy haciendo con esto, estoy haciendo un sitio web, usando javascript para:

  1. Leer un archivo csv
  2. Coloque la línea 1 del archivo csv en la matriz b.
  3. Agregue la matriz b a la matriz a.
  4. Repita con la línea 2 hasta el final del archivo.
  5. Obtenga el archivo a con todas las líneas y cree un archivo json.

No sé si mi explicación es lo suficientemente fácil de entender y si hay una mejor manera de hacerlo.

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

0

Estás actualizando el mismo objeto b y concatenándolo. Puede crear un nuevo objeto para concatenar cada vez.

 function test1() { var a = []; for (let i = 0; i < 5; i++) { a = a.concat([{"Value": i}]); console.log(a) } }
about 4 years ago · Juan Pablo Isaza Relatório

0

Para cada iteración, b apunta a la misma referencia de objeto y es esa referencia la que se agrega a la matriz cada vez. Mueva la declaración de b dentro del ciclo para que esté creando un nuevo objeto cada vez.

 function test1() { let a = []; for (let i = 0; i < 5; i++) { const b = [{ value: i }]; a = a.concat(b); } return a; } console.log(test1());

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