Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!