Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

88
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda