Я нашел следующий код здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
Мне было интересно, можно ли объяснить, почему нам нужен второй {} в функции сокращения?Это пустой объект, в который нужно поместить результат?
var _groupBy = function(objectArray, property) { return objectArray.reduce(function (acc, obj) { var key = obj[property]; if (!acc[key]) { acc[key] = []; } acc[key].push(obj); return acc; }, {}); };
Вторым аргументом снижения является ваша отправная точка.Это будет значение аргумента acc в функции, которое передается в качестве первого аргумента при уменьшении во время первой итерации обработки.
acc