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

96
Vistas
Copie la matriz original con valores vacíos

Tengo la siguiente matriz:

 arr1 = [{Name: "John", Email: "john@example.com", Age: "29"}, {Name: "Emma", Email: "emma@example.com", Age: "25"}]

¿Cómo puedo obtener esta matriz como:

 arr2 = [{Name: "", Email: "", Age: ""}]

sin mutar arr1

He intentado hacer:

 let arr2 = arr1[0] for (let i in arr2) { arr2[i] = "" } console.log(arr1) //returns [{Name: "", Email: "", Age: ""}, {Name: "Emma", Email: "emma@example.com", Age: "25"}] console.log(arr2) //returns [{Name: "", Email: "", Age: ""}]

pero esto muta arr1[0] con valores vacíos también

He buscado muchas preguntas en SO, pero no pude obtener nada que dejara vacíos todos los valores.

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

0

Está pasando por referencia en lugar de copiar la matriz.

https://dmitripavlutin.com/value-vs-reference-javascript/#:~:text=In%20JavaScript%2C%20you%20can%20pass,by%20reference%20when%20assigning%20objects .

Aquí está su código refactorizado para que funcione según lo previsto.

 arr1 = [{Name: "John", Email: "john@example.com", Age: "29"}, {Name: "Emma", Email: "emma@example.com", Age: "25"}] let arr2 = {...arr1[0]} // make a copy of arr1[0] for (let i in arr2) { arr2[i] = "" } console.log(arr1) //returns [{Name: "", Email: "", Age: ""}, {Name: "Emma", Email: "emma@example.com", Age: "25"}] console.log([arr2]) //returns [{Name: "", Email: "", Age: ""}]

about 4 years ago · Juan Pablo Isaza Denunciar

0

 let arr1 = [{Name: "John", Email: "john@example.com", Age: "29"}, {Name: "Emma", Email: "emma@example.com", Age: "25"}] let arr2 = {...arr1[0]} for (let i in arr2) { arr2[i] = "" } console.log(arr1) console.log(arr2)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Simplemente reemplace los valores usando for loop o en la forma en que desee cambiarlo.

 var myDog = { "name": "Coder", "legs": 4, "tails": 1, "friends": ["freeCodeCamp Campers"] }; // Update the name value myDog.name = "Happy Coder"; document.getElementById("p1").innerHTML = Object.values(myDog);
 <div id='p1'></div>

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