Arrays JS-使用数组对对象数组进行分组、映射和展平

Arrays JS-使用数组对对象数组进行分组、映射和展平,arrays,json,ecmascript-6,javascript-objects,Arrays,Json,Ecmascript 6,Javascript Objects,亲爱的 我真的无法达到以下结果: {“2002”:[1,2,3…]}, {"2003":[1,2,3,4...]}, 我有以下数据(以下简称): 我设法使用lodash_u2;.groupBy实现了以下中间结果: [{…}] 0: 2000: Array(4) 0: Year: "2000" numbers: (7) [empty, 6, 25, 27, 37, 48, 49] Year: "2000" numbers: (7) [empty, 7, 12, 19, 30, 45, 49] 2

亲爱的

我真的无法达到以下结果:

{“2002”:[1,2,3…]}, {"2003":[1,2,3,4...]},

我有以下数据(以下简称):

我设法使用lodash_u2;.groupBy实现了以下中间结果:

[{…}]
0:
2000: Array(4)
0:
Year: "2000"
numbers: (7) [empty, 6, 25, 27, 37, 48, 49]
Year: "2000"
numbers: (7) [empty, 7, 12, 19, 30, 45, 49]
2: {Year: "2000", numbers: Array(7)}
2001: Array(104)
[0 … 99]
[100 … 103]
100: {Year: "2001", numbers: Array(7)}
101: {Year: "2001", numbers: Array(7)}
[0 … 99]
0: {Year: "2002", numbers: Array(7)}
1: {Year: "2002", numbers: Array(7)}

但我希望每年有一个对象,包含今年子数组中出现的所有数字

你能帮助我吗,我已经厌倦了ES6地图和for in循环,但是没有给我正确的结果

提前谢谢你

这对我很有用:

const slicedYear = results.map(elem => (elem = { Year: elem.Year.slice(elem.Year.length - 4), numbers: elem.numbers }));
const groupedResults = _.groupBy(slicedYear, 'Year');

for (let key in groupedResults) {
    const selectedNumbers = { [key]: [groupedResults[key].map(elem => elem.numbers)].flat(2) };
}
const slicedYear = results.map(elem => (elem = { Year: elem.Year.slice(elem.Year.length - 4), numbers: elem.numbers }));
const groupedResults = _.groupBy(slicedYear, 'Year');

for (let key in groupedResults) {
    const selectedNumbers = { [key]: [groupedResults[key].map(elem => elem.numbers)].flat(2) };
}