Junior — Middle
69
Когда метод reduce возвращает объект, и в каких случаях он может это делать?
Answer from AI
sobes.tech AI
Метод reduce в JavaScript (а не в Java, возможно, имелось в виду JavaScript) возвращает объект в тех случаях, когда аккумулятором в процессе редукции является объект. Это происходит, если начальное значение аккумулятора — объект, либо если в теле функции-редьюсера возвращается объект.
Например, если нужно собрать элементы массива в объект с подсчетом количества повторений:
const arr = ['apple', 'banana', 'apple', 'orange'];
const result = arr.reduce((acc, item) => {
acc[item] = (acc[item] || 0) + 1;
return acc;
}, {});
console.log(result); // { apple: 2, banana: 1, orange: 1 }
Здесь reduce возвращает объект, потому что аккумулятор — объект, и функция-редьюсер обновляет его на каждом шаге.
Таким образом, reduce может возвращать объект, когда задача сводится к агрегированию данных в объект, например, группировка, подсчет, построение словаря и т.п.