OneCompiler

Mapping data with reducer

132

const RAW_DATA = [
{
id: 1,
purchaseOrder: "PO-001",
products: [
{
itemId: 1,
name: "Iteam A",
price: 10,
quantity: 5,
},
{
itemId: 2,
name: "Iteam B",
price: 13,
quantity: 3,
},
{
itemId: 3,
name: "Iteam C",
price: 9.5,
quantity: 1,
},
],
tax: 10,
},
{
id: 2,
purchaseOrder: "PO-002",
products: [
{
itemId: 1,
name: "Iteam A",
price: 10,
quantity: 1,
},
{
itemId: 2,
name: "Iteam B",
price: 13,
quantity: 15,
},
{
itemId: 3,
name: "Iteam C",
price: 9.5,
quantity: 3,
},
],
tax: 10,
},
];

function doubleNumbers(arr){
// your code here

let new_arr = arr.map(data => ({
id: data.id,
purchaseOrder: data.purchaseOrder,
subTotal: data.products.reduce((x, tot) => x + tot.price * tot.quantity, 0),
tax: data.tax,
nettTotal: ((100 + data.tax)/100) * data.products.reduce((y, tot) => y + tot.price * tot.quantity, 0)
}))

return new_arr;
}

console.log(doubleNumbers(RAW_DATA)); ****