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

118
Visualizações
Consola de herramientas para desarrolladores que muestra solo los valores finales

Tengo el siguiente código que ejecuto en la consola:

 // cache the starting array - 50 elements let asTheyWere = selDocument.fields.field; // create the new object let nf = {}; $j.each(selDocument.fields.field[selDocument.fields.field.length - 1], function(a, b){ nf[a] = b; }); // make a change and add the object to the array for(i = 0; i < 5; i++) { nf.name = `test me ${i}`; // console.log(nf.name) shows 'test me 0', 'test me 1' ... 'test me 4' selDocument.fields.field.push(nf); } // assign the array to a new variable - now at 55 elements let asTheyAre = selDocument.fields.field; // check the values console.log(asTheyWere); console.log(asTheyAre);

Sé que la consola no se actualiza hasta que finaliza el código, por lo que todas las variables se registran con su valor final. Pensé que usar diferentes variables evitaría eso, pero as TheyWere y as TheyAre son lo mismo, mostrando 55 elementos (el primero debería tener 50), Y los valores agregados al final de la matriz también son iguales: deberían ser 'Pruébame 0', 'Pruébame 1', 'Pruébame 2' y así sucesivamente, pero todos son 'Pruébame 4'.

Cuando todo esté hecho, luego correr

 > console.log(selDocument.fields.field)

muestra 'pruébame 4' en todos los elementos agregados, por lo que no es solo el registro.

¿Que esta pasando? ¿Cómo puedo ver el progreso y ver valores precisos, y obtener los valores correctos agregados a la matriz?

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

0

Aunque son variables diferentes, siguen apuntando al mismo valor. Por ejemplo:

 const foo = ['hello'] const bar = foo foo[0] = 'goodbye' console.log(bar[0]) // prints "goodbye"!

Esto sucede porque cuando asignas bar = foo , en realidad no estás creando una copia de foo. En cambio, está diciendo que esta bar de variables es solo otro nombre que se usa para referirse al contenido de foo .

Podría intentar clonar el objeto original para compararlo con el nuevo. Si el objeto se compone de datos simples, puede clonarlo así:

 const asTheyWere = JSON.parse(JSON.stringify(selDocument.fields.field)); // Make your changes... const asTheyAre = selDocument.fields.field; console.log(asTheyWere); console.log(asTheyAre);
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