Вы можете использовать .reduce
без .map
, таким образом, вы можете получить общую сумму, выполнив итерацию только один раз по вашему массиву.Кроме того, вы можете использовать разрушающее присваивание вместо ваших if
операторов, чтобы установить значение по умолчанию для вашего b.length
, если оно не существует.
См. Рабочий пример ниже:
const arr = [{a: 1, b: [1, 2, 3, 4, 5] }, {c: 2, b: [1, 2, 3]}, {e: 3}],
total = arr.reduce((acc, {b={length:0}}) => acc + b.length, 0);
console.log(total);