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);