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

650
Vistas
El objeto no es un error extensible al crear un nuevo atributo para una matriz de objetos

Tengo una función que necesita extender una matriz de javascript, incluido un nuevo atributo llamado selected :

 export const initSelect = (data) => { let newData = data.concat(); newData.map((item) => { item.selected = false; }) return newData; }

data es un valor de estado de ReactJS (proviene de this.state.data cuando se llama a la función), pero esto no parece ser un problema ya que newData es una nueva copia de la matriz de data ...

Recibo el siguiente error:

 TypeError: Cannot add property selected, object is not extensible
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Probablemente necesites copiar los objetos:

 export const initSelect = (data) => { return data.map((item) => ({ ...item, selected: false })); }
over 4 years ago · Santiago Trujillo Denunciar

0

No puede extender el item con la propiedad selected , y su matriz es solo una copia superficial.

Si desea poder extender, tendrá que hacer una copia profunda de su matriz. Puede ser suficiente con:

 let newData = data.map((item) => Object.assign({}, item, {selected:false}) )
over 4 years ago · Santiago Trujillo Denunciar

0

data = JSON.parse(JSON.stringify(data)));
over 4 years ago · Santiago Trujillo 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