Если я правильно понимаю, вы ищете массив, который является разностью каждого значения в предыдущих.
Давайте предположим, что это ваш ввод
rates = [
{BWP: 1, ZAR: 1.3, USD: 0.09324, number: 1},
{BWP: 1, ZAR: 1.35, USD: 0.01, number: 2},
{BWP: 1, ZAR: 1.3456, USD: 0.09234, number: 3},
{BWP: 1, ZAR: 1.27894, USD: 0.06788, number: 4}
]
ИВы хотите, чтобы массив как
{BWP: 1, ZAR: 1.3, USD: 0.09324, number: 1}
был результатом.Тогда это сделает работу
var rates = [
{BWP: 1, ZAR: 1.3, USD: 0.09324, number: 1},
{BWP: 1, ZAR: 1.35, USD: 0.01, number: 2},
{BWP: 1, ZAR: 1.3456, USD: 0.09234, number: 3},
{BWP: 1, ZAR: 1.27894, USD: 0.06788, number: 4}
]
// I use the last object as the "template"
var result = rates[rates.length - 1];
var keys = Object.keys(result);
for (var i = rates.length - 1; i > 0; i --) {
keys.forEach(function (elem) {
result[elem] -= rates[i-1][elem];
});
}
console.log(result);