Javascript 基于键值合并对象数组
我如何旋转这样一个对象数组Javascript 基于键值合并对象数组,javascript,ecmascript-6,lodash,Javascript,Ecmascript 6,Lodash,我如何旋转这样一个对象数组 const scores = [ { year: 2020, dave: 20 }, { year: 2020, steve: 17 }, { year: 2019, bill: 18 } ]; 进入这个 const scores = [ { year: 2020, dave: 20, steve: 17 }, { year: 2019, bill: 18 } ]; 我使用and将一个对象的键设置为
const scores = [
{
year: 2020,
dave: 20
},
{
year: 2020,
steve: 17
},
{
year: 2019,
bill: 18
}
];
进入这个
const scores = [
{
year: 2020,
dave: 20,
steve: 17
},
{
year: 2019,
bill: 18
}
];
我使用and将一个对象的键设置为“年”,并不断分配对象,然后取出值
const分数=[
{
年份:2020年,
戴夫:20
},
{
年份:2020年,
史蒂夫:17
},
{
年份:2019年,
条例草案:18
}
];
const mergedOb=分数。减少((acc,ob)=>{
如果(根据【目标年】){
分配对象(根据[年度],年度);
}否则{
会计科目[出生年份]=出生年份
}
返回acc;
}, {});
const mergeArr=Object.values(mergedOb)
log(mergeArr)
我使用and使一个对象的键为year,并不断分配对象,后来取出值
const分数=[
{
年份:2020年,
戴夫:20
},
{
年份:2020年,
史蒂夫:17
},
{
年份:2019年,
条例草案:18
}
];
const mergedOb=分数。减少((acc,ob)=>{
如果(根据【目标年】){
分配对象(根据[年度],年度);
}否则{
会计科目[出生年份]=出生年份
}
返回acc;
}, {});
const mergeArr=Object.values(mergedOb)
console.log(mergeArr)
您在找这个吗
$(函数(){
常数分数=[
{
年份:2020年,
戴夫:20
},
{
年份:2020年,
史蒂夫:17
},
{
年份:2019年,
条例草案:18
}
];
var groupBy=函数(xs,键){
返回x.reduce(功能(rv,x){
(rv[x[键]]=rv[x[键]| |[])。按(x);
返回rv;
}, {});
};
log(groupBy(分数,'year'));
})
你在找这个吗
$(函数(){
常数分数=[
{
年份:2020年,
戴夫:20
},
{
年份:2020年,
史蒂夫:17
},
{
年份:2019年,
条例草案:18
}
];
var groupBy=函数(xs,键){
返回x.reduce(功能(rv,x){
(rv[x[键]]=rv[x[键]| |[])。按(x);
返回rv;
}, {});
};
log(groupBy(分数,'year'));
})
您可以使用.flow()
创建一个函数,该函数使用.groupBy()
将具有相同年份的项目收集到阵列,然后映射和合并阵列:
const{flow,groupBy,map,merge}=;;
常数fn=流量(
arr=>groupBy(arr,'年'),
groups=>map(groups,g=>merge({},…g))
);
const得分=[{“年”:2020,“戴夫”:20},{“年”:2020,“史蒂夫”:17},{“年”:2019,“比尔”:18}];
常数结果=fn(分数);
控制台日志(结果)代码>
您可以使用.flow()
创建一个函数,该函数使用.groupBy()
将具有相同年份的项目收集到数组中,然后映射和合并数组:
const{flow,groupBy,map,merge}=;;
常数fn=流量(
arr=>groupBy(arr,'年'),
groups=>map(groups,g=>merge({},…g))
);
const得分=[{“年”:2020,“戴夫”:20},{“年”:2020,“史蒂夫”:17},{“年”:2019,“比尔”:18}];
常数结果=fn(分数);
控制台日志(结果)代码>
也许这有助于GroupBy!我记不起术语了,如果有多个对象具有相同的年份和相同的键,您可能会丢失一些数据。这可能有助于GroupBy!我记不起术语了,如果有多个对象具有相同的年份和相同的键,您可能会丢失一些数据。