Для числового amount используйте reduce с начальным значением 0. Формат и допустимость пропущенных или строковых сумм нужно определить отдельно.
С бэкенда приходят табличные данные в виде массива объектов. Напишите функцию для подсчёта суммы поля amount.
Для числового amount используйте reduce с начальным значением 0. Формат и допустимость пропущенных или строковых сумм нужно определить отдельно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для числового amount используйте reduce с начальным значением 0. Формат и допустимость пропущенных или строковых сумм нужно определить отдельно.
Строгий вариант:
function sumAmount(rows) {
return rows.reduce((sum, row) => {
if (typeof row.amount !== 'number' || !Number.isFinite(row.amount)) {
throw new TypeError('amount must be finite');
}
return sum + row.amount;
}, 0);
}
Пустой массив даёт 0. Для денег лучше согласовать целые минимальные единицы или decimal-представление; Number имеет ограничения точности и может переполниться на больших суммах.