gpt4 book ai didi

javascript - 通过键从对象合并到对象数组

转载 作者:行者123 更新时间:2023-11-30 20:07:42 24 4
gpt4 key购买 nike

我的目标是通过将 id 与包含匹配键的另一个对象匹配来更新对象数组,以更新对象数组的 value 键。

使用像这样的对象数组:

const objArr = [
{
id: 6,
name: 'Activity Attendance',
type: 'Number',
value: '2000',
nameChanged: false,
typeChanged: false,
internalName: 'activity_attendance'
},
{
id: 123,
name: 'Total Number of Interacted Consumers',
type: 'Number',
value: '400',
nameChanged: false,
typeChanged: false,
internalName: 'total_number_of_interacted_consumers'
},
{
id: 140,
name: 'Booth Location',
type: 'Select (Single Answer)',
value: '',
nameChanged: false,
typeChanged: false,
internalName: 'booth_location'
}
];

还有一个像这样的对象:

const obj = {
'6': '1500',
'123': '180',
'140': ''
};

期望的结果:

const objArr = [
{
id: 6,
name: 'Activity Attendance',
type: 'Number',
value: '1500',
nameChanged: false,
typeChanged: false,
internalName: 'activity_attendance'
},
{
id: 123,
name: 'Total Number of Interacted Consumers',
type: 'Number',
value: '180',
nameChanged: false,
typeChanged: false,
internalName: 'total_number_of_interacted_consumers'
},
{
id: 140,
name: 'Booth Location',
type: 'Select (Single Answer)',
value: '',
nameChanged: false,
typeChanged: false,
internalName: 'booth_location'
}
];

我已经开始沿着映射 objArr 的路线前进,但我不确定如何继续在 obj 中进行“匹配”以获得正确的值更新。我失败的尝试:

objArr.map(i => i.id.includes(Object.keys(obj).map(o => Number(o))));

如何从一个对象合并到一个对象数组中?

最佳答案

这是使用 map() 函数和 spread (...) 运算符的解决方案:

var objArr = [
{
id: 6,
name: 'Activity Attendance',
type: 'Number',
value: '2000',
nameChanged: false,
typeChanged: false,
internalName: 'activity_attendance'
},
{
id: 123,
name: 'Total Number of Interacted Consumers',
type: 'Number',
value: '400',
nameChanged: false,
typeChanged: false,
internalName: 'total_number_of_interacted_consumers'
},
{
id: 140,
name: 'Booth Location',
type: 'Select (Single Answer)',
value: '',
nameChanged: false,
typeChanged: false,
internalName: 'booth_location'
}
];

var obj = {
'6': '1500',
'123': '180',
'140': ''
};

console.log(objArr.map(i => ({
...i,
value: obj[i.id] ? obj[i.id] : i.value
})))

关于javascript - 通过键从对象合并到对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52708696/

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