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

238
Vistas
Restablecer la propiedad id de un objeto JavaScript

Tengo una variedad de objetos como este.

 const initialState = [ { id: 1, author: 'author 1', title: 'Book 1', category: 'Category 1', }, { id: 2, author: 'author 2', title: 'Book 2', category: 'Category 2', }, { id: 3, author: 'author 3', title: 'Book 3', category: 'Category 3', }, ];

si se elimina un objeto, por ejemplo; el objeto con id de 2 se elimina. Quiero restablecer las propiedades de identificación de las propiedades restantes para que sigan un orden de 1, 2, 3...

He hecho esto con;

 let id = 1 state.forEach(object => { object.id = id id += 1 })

¿Hay una manera mucho mejor de hacer esto? como usar la función de mapa?

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

0

Su código se puede mejorar simplemente usando el índice

 state.forEach((object, index) => { object.id = index + 1 })

También puede usar la función de map como sugirió, pero devolverá una nueva matriz

 const newArray = state.map((object, index) => { object.id = index + 1 })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si desea seguir prácticas inmutables (si eso es lo que quiere decir con mejor), puede usar el operador de propagación (u Object.assign):

 const initialState = [ { id: 1, author: 'author 1', title: 'Book 1', category: 'Category 1', }, // commented out for demonstration: this element would be "removed". //{ //id: 2, author: 'author 2', title: 'Book 2', category: 'Category 2', //},c { id: 3, author: 'author 3', title: 'Book 3', category: 'Category 3', }, ]; const newState = initialState.map((obj, i) => ({ ...obj, id: i + 1 })); console.log(initialState) console.log(newState)

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