首页 > 解决方案 > javascript中的groupby使用ArrayObject.reducer()

问题描述

我在这里找到了以下代码: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

我想知道是否可以解释为什么我们需要 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;
    }, {});
};

标签: javascriptreduce

解决方案


reduce 的第二个参数是您的起点。它将是acc函数中参数的值,在第一次处理迭代期间作为 reduce 的第一个参数传入。


推荐阅读