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

89
Vistas
Creando una nueva matriz con valor agregado de 2 campos

Hola chicos, actualmente tengo una matriz con algunos datos:

 const data = [ {car: 'Hyundai', price: '60.00', tax: '5.00', total: 0}, {car: 'Honda', price: '80.00', tax: '7.00', total: 0}, {car: 'Tesla', price: '100.00', tax: '10.00', total: 0}, ]

El conjunto de datos es más grande. ¿Cuál es la mejor manera de obtener una nueva matriz con el total (precio + impuestos) calculado? No quiero mutar original. Así que necesito esto de vuelta:

 const newData = [ {car: 'Hyundai', price: '60.00', tax: '5.00', total: 65.00}, {car: 'Honda', price: '80.00', tax: '7.00', total: 87.00}, {car: 'Tesla', price: '100.00', tax: '10.00', total: 110.00}, ]

Tengo muchos más campos, así que me preguntaba si había un código más eficiente y más corto para hacerlo que mi solución actual, que es forEach y luego en la clave total, solo hago data.price + data.tax.

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

0

Use map() para crear una nueva matriz a partir de la matriz anterior. Use puntos suspensivos para fusionar la nueva propiedad en una copia del objeto anterior.

 const data = [ {car: 'Hyundai', price: '60.00', tax: '5.00', total: 0}, {car: 'Honda', price: '80.00', tax: '7.00', total: 0}, {car: 'Tesla', price: '100.00', tax: '10.00', total: 0}, ]; const newData = data.map((car) => ({...car, total: Number(car.price) + Number(car.tax)})); console.log(newData);

about 4 years ago · Juan Pablo Isaza Denunciar

0

No sé, Array.forEach es bastante efectivo, pero podrías crear un Array.map() y predefinir una función. P.EJ:

 function func(car) { car.total = car.price + car.tax; } let newData = data.map(func);

También como un consejo sobre la lógica del código, es posible que desee usar let o var en lugar de const porque es posible la inflación, los cambios de precios y el aumento/disminución de impuestos.

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