创建地图以减少。Javascript

创建地图以减少。Javascript,javascript,Javascript,我有一个“ImputacionData”的结果,并使用一个reduces将其与对象的属性分组: this.imputacionesDatas = data; this.imputacionesAndAusencias = this.imputacionesDatas.reduce(function (r, a) { r[a.empleadoId] = r[a.empleadoId] || []; r[a.empleadoId].push(a); r

我有一个“ImputacionData”的结果,并使用一个reduces将其与对象的属性分组:

this.imputacionesDatas = data;
this.imputacionesAndAusencias = this.imputacionesDatas.reduce(function (r, a) {
        r[a.empleadoId] = r[a.empleadoId] || [];
        r[a.empleadoId].push(a);
        return r;
    }, Object.create(null));
我不知道如何处理结果的问题是,需要将其放在地图中,以便能够处理屏幕上的数据并能够绘制它们

我不知道如何将“reduce”的结果放在类似以下的地方:

Map <number, Array <ImputacionData >>;
Map;
您可以在数组中获取键和值

this.imputacionesAndAusencias = Object.entries(this.imputacionesDatas.reduce(function (r, a) {
    r[a.empleadoId] = r[a.empleadoId] || [];
    r[a.empleadoId].push(a);
    return r;
}, Object.create(null)));
如果你想得到一个,你可以把地图作为返回值

this.imputacionesAndAusencias = this.imputacionesDatas.reduce(function (map, object) {
    if (!map.has(object.empleadoId)) {
        return map.set(object.empleadoId, [object]);
    }
    map.get(object.empleadoId).push(object);
    return map;
}, new Map);

您可以将累加器的初始值设置为
newmap()
,然后使用Map方法设置其值

const输入=[{
就业人数:5
}, {
就业人数:5
}, {
就业类别:6
}];
常量输出=输入。减少((地图,项目)=>{
常量{empladeOID}=项;
if(map.has(empleadoId))map.get(empleadoId.push(项目);
else map.set(empladeoid,[item]);
返回图;
},新地图());

console.log(…输出)您需要数组还是只需要数组?第二个示例已经为我提供了服务。非常感谢。