JSFiddle - React, Tailwind, and code Playground
by Balázs Baumgartner
JavaScript
const data = [{"deprecated":true,"_id":"5ef5dfc82a66b800077e4830","userId":"eu-west-1:ab9883b7-0bdd-4a2e-be97-14abf47c3205","currencies":[{"value":350,"name":"HUF"}],"posProduct":"5ef5dfc82a66b800077e482f","posProductRoot":"5ef5dfc82a66b800077e482f","__v":0,"createdAt":"2020-06-26T11:45:12.808Z","updatedAt":"2021-04-10T13:29:05.682Z"},{"deprecated":true,"_id":"5ef5e0480e52e200072c6a02","userId":"eu-west-1:ab9883b7-0bdd-4a2e-be97-14abf47c3205","currencies":[{"value":350,"name":"HUF"}],"posProduct":"5ef5e0470e52e200072c6a01","posProductRoot":"5ef5dfc82a66b800077e482f","__v":0,"createdAt":"2020-06-26T11:47:20.024Z","updatedAt":"2021-04-10T13:29:05.682Z"},{"deprecated":false,"_id":"6071a821aad874000809caa0","userId":"eu-west-1:ab9883b7-0bdd-4a2e-be97-14abf47c3205","currencies":[{"value":380,"name":"HUF"}],"posProduct":"6071a821aad874000809ca9f","posProductRoot":"5ef5dfc82a66b800077e482f","__v":0,"createdAt":"2021-04-10T13:29:05.703Z","updatedAt":"2021-04-10T13:29:05.703Z"}];
const prices = [{
createdAt: data[0].createdAt,
price: data[0].currencies[0].value,
difference: null,
}];
console.log(prices);
let insertIndex = 0;
data.shift();
data.forEach((priceItem) => {
if (priceItem.currencies[0].value !== prices[insertIndex].price) {
prices.push({
createdAt: priceItem.createdAt,
price: priceItem.currencies[0].value,
diff: {
value: priceItem.currencies[0].value - prices[insertIndex].price,
pct: ((priceItem.currencies[0].value / prices[insertIndex].price) -1) * 100,
}
});
insertIndex += 1;
}
});
console.log(prices);