Как сложить числа в массиве объектов после итерации
У меня есть массив с объектами у которых есть ключ 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);