如何解决使用loadash通过两个键获取对象组的数组
输入:
[
{
"Country": "BR","New Lv1-Lv2": "#N/A"
},{
"Country": "BR",{
"Country": "","New Lv1-Lv2": "test"
}]
输出:
[
{
"Country": "BR","New Lv1-Lv2": "#N/A","count":2
},"New Lv1-Lv2": "test","count":1
}]
我使用了loadhash group by,但不确定如何映射多个键,请让我知道如何完成
解决方法
构建一个具有聚合计数的对象。 (PS。根据您的需要更改密钥以使其唯一)
const convert = (arr) => {
const res = {};
arr.forEach((obj) => {
const key = `${obj.Country}${obj["New Lv1-Lv2"]}`;
if (!res[key]) {
res[key] = { ...obj,count: 0 };
}
res[key].count += 1;
});
return Object.values(res);
};
const data = [
{
Country: "BR","New Lv1-Lv2": "#N/A",},{
Country: "BR",{
Country: "","New Lv1-Lv2": "test",];
console.log(convert(data));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。