Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

151
Vistas
Buscando explicación para cada javascript

Estoy trabajando con la siguiente matriz de objetos y estoy tratando de ejecutar una función con forEach. Sin embargo, no quiero destruir el tbl1 original. Por lo tanto, hice una copia de tbl1 en tbl2 y estoy ejecutando forEach en tbl2 .

Lo que me sorprende, si ejecuto un forEach en tbl2 para poder conservar la estructura tbl1 , también ocurre en tbl1 que no quiero.

 const tbl1 = [{ "Month": 1, "Value": 100 }, { "Month": 2, "Value": 200 }, { "Month": 3, "Value": 300 }] const tbl2 = tbl1; tbl2.forEach( (d)=>{d.newCol=d.Month*152;}); console.log(tbl1,tbl2);

¿Es posible ejecutar forEach en una tabla de copy sin destruir la tabla de source ?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Eso es porque cuando escribes const tbl2 = tbl1; , no clona la matriz, sino que toma una referencia al original. Entonces, cuando modifica la referencia, el original también se modifica.

about 4 years ago · Juan Pablo Isaza Denunciar

0

puedes usar map

 const tbl1 = [{ "Month": 1, "Value": 100 }, { "Month": 2, "Value": 200 }, { "Month": 3, "Value": 300 }] const tbl2 = tbl1.map(d => { return { ...d, newCol: d.Month*152 } }) console.log(tbl1,tbl2);
Si desea hacer una copia profunda, debe usar JSON.parse y JSON.stringify

 const tbl1 = [{ "Month": 1, "Value": 100 }, { "Month": 2, "Value": 200 }, { "Month": 3, "Value": 300 }] const tbl2 = JSON.parse(JSON.stringify(tbl1)); tbl2.forEach( (d)=>{d.newCol=d.Month*152;}); console.log(tbl1,tbl2);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda