Как сложить числа в массиве объектов после итерации

У меня есть массив с объектами у которых есть ключ price, мне нужно после итерации сложить между собой числа 12.99 и 14.99. P.S Итерация в моем случае мне нужна

const arr = [{price: 12.99}, {price: 14.99}];
arr.map(item => {
 //сложить по ключу price 12.99 + 14.99
});

Ответы (1 шт):

Автор решения: OPTIMUS PRIME

массив.shift() удаляет первый элемент массива и возвращает его же. Вот и взять его, добавить к следующему элементу:

const arr = [{price: 12.99}, {price: 14.99}, {price: 'Не трогать'}];

if (arr[1]) arr[1].price += arr.shift().price;

console.log(arr);

Если нужно так приклеить несколько элементов в определенном месте, используйте arr.splice(индекс, сколькоЭлементовУдалить [, чтоДобавитьНаИхМесто]) -> возвращает новый массив из удаленных элементов.

const arr = [{price: 5},   {price: 1}, {price: 1}, {price: 1},   {price: 10}];

let new_obj = { price: 0 };
let removed = arr.splice(1, 3, new_obj);

new_obj.price = removed.reduce((sum, e) => sum + e.price, 0);

console.log(arr);

→ Ссылка