gpt4 book ai didi

javascript - 使用 Lodash 按属性合并对象数组

转载 作者:IT王子 更新时间:2023-10-29 03:12:11 28 4
gpt4 key购买 nike

我有两个对象数组,代表具有标签和值的电子邮件地址:

var original = [
{
label: 'private',
value: 'private@johndoe.com'
},
{
label: 'work',
value: 'work@johndoe.com'
}
];

var update = [
{
label: 'private',
value: 'me@johndoe.com'
},
{
label: 'school',
value: 'schhol@johndoe.com'
}
];

现在我想通过 label 字段比较和合并两个数组,这样结果看起来像这样:

var result = [
{
label: 'private',
value: 'me@johndoe.com'
},
{
label: 'work',
value: 'work@johndoe.com'
},
{
label: 'school',
value: 'schol@johndoe.com'
}
]

我该怎么做,例如使用 lodash

最佳答案

_.unionBy() :
此方法与 _.union 类似,不同之处在于它接受 iteratee,它为每个数组的每个元素调用以生成计算唯一性的标准。 结果值是从出现该值的第一个数组中选择的

var original = [
{ label: 'private', value: 'private@johndoe.com' },
{ label: 'work', value: 'work@johndoe.com' }
];

var update = [
{ label: 'private', value: 'me@johndoe.com' },
{ label: 'school', value: 'schol@johndoe.com' }
];

var result = _.unionBy(update, original, "label");

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>

关于javascript - 使用 Lodash 按属性合并对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39127565/

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