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

176
Vistas
¿No debería usar la sintaxis extendida no hacer referencia a la matriz original?

Tengo una matriz de objetos en mi estado llamada names , estoy tratando de hacer una copia de esta matriz en otra matriz de objetos en el estado llamada shuffledNames , pero cuando barajo los shuffledNames usando el código a continuación, los names originales cambian las identificaciones para que coincidan las nuevas identificaciones barajadas. Vea las imágenes a continuación para ver un ejemplo. He intentado usar .concat(), .slice(). Ya no se que probar.

 handleSort = () => { let tempName = [...this.state.names]; let shuffledNames = tempName; for (let i = shuffledNames.length; i-- > 1; ) { let j = Math.floor(Math.random() * i); let temp = shuffledNames[i]; shuffledNames[i] = shuffledNames[j]; shuffledNames[j] = temp; } shuffledNames.forEach((shuffledName, index) => { shuffledName.id = index; }); this.setState({ shuffledNames: shuffledNames }); };

Este es mi estado antes de barajar

Este es mi estado antes de barajar

Este es mi estado después de barajar

Este es mi estado después de barajar

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

0

El operador de propagación es un clon superficial, por lo que es una nueva matriz pero los mismos valores que son referencias a objetos, no objetos nuevos. Necesita encontrar o codificar su propia función de clonación o copia profunda. La última que usé fue la función de clonación de randa, pero eso se debió a que alguien más en mi equipo ya había importado esa biblioteca.

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