gpt4 book ai didi

javascript - 自合并对象 - lodash

转载 作者:行者123 更新时间:2023-11-30 09:13:00 25 4
gpt4 key购买 nike

我有一个对象:

obj1 = [{
"accId": 23,
"sName" : "qw"
},
{
"accId": 23,
"sName": "as"
},
{
"accId":24,
"sName": "we"
}
]

我想使用 lodash 将这个对象列表自行合并到:

result = [{
"accId": 23,
"sName" : ["qw","as"]

},
{
"accId":24,
"sName": ["we"]
}
]

我尝试使用带有 for 循环的纯 javascript,但它似乎非常低效。我也尝试了一些 lodash 函数,但找不到最合适的。我还想到了将对象列表拆分为单独的列表,每个列表一个对象并使用 _.merge() 合并的想法。但是我不知道是否有办法拆分对象列表。

最佳答案

Lodash uniqBy允许您指定一个迭代器,它传递给数组的每个成员。生成的数组对于该迭代器的返回值将是唯一的。

let array = [{
"accId": 23,
"sName": "qw"
},
{
"accId": 23,
"sName": "as"
},
{
"accId": 24,
"sName": "we"
}
]

let uniqArray = _.uniqBy(array, o => o.accId);
console.log(uniqArray);
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>

关于javascript - 自合并对象 - lodash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57210822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com