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

169
Vistas
Eliminar los objetos anteriores para mantener solo el último objeto disponible

Contexto : estoy creando un objeto para establecer el color "rojo" en el último segmento en los gráficos de Google, sin embargo, sigo recibiendo objetos "apilados". Me gustaría eliminar los objetos anteriores y mantener solo el último objeto disponible.

Estaba tratando de hacer algo como esto:

 let indices = indexSum; for (let i = 1; i <= slices.length; i++) { if (Object.keys(lossColor).length >= 2) { delete lossColor[i - 1]; } lossColor[i] = { color: "red" }; }

Básicamente, tan pronto como la cantidad de objetos en mi objeto inicial sea 2, me gustaría eliminar el índice anterior (de ahí el i-1).

También estaba tratando de usar el operador de propagación (gracias a un usuario en SO que respondió a una de mis otras preguntas) para reemplazar los objetos existentes con el último objeto agregado.

Esta fue su implementación (sin embargo, sigo agregando todos los objetos sin eliminar los anteriores)

 for (let i = 1; i <= indices; i++) { lossColor = { ...lossColor, [i]: { color: "red" } }; }

Actualmente obtengo algo como esto si el usuario agrega 3 entradas:

 { "1": { "color": "red" }, "2": { "color": "red" }, "3": { "color": "red" } }

El objetivo es tener algo como esto:

 { "3": { "color": "red" } }

Donde básicamente se eliminan todos los demás objetos y solo se conserva el último

¿Hay una mejor manera de hacer esto? Gracias de antemano

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

0

Si siempre es el último, simplemente puede omitir el operador de propagación de la ecuación de esta manera,

 var lossColor = []; for (let i = 1; i <= 3; i++) { lossColor = {[i]: { color: "red" } }; } console.log(lossColor);

Un gran artículo sobre el operador de propagación si no está seguro de dónde usarlo: https://learnjsx.com/category/2/posts/es6-spreadOperator

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