JS对象比较并新增属性的问题
我有两个格式类似如下的数组对象,我希望objA对比ojbB,如果id重复的(即objA和ojbB都有相同的ID),则在objA的对应对象中添加一个属性isChanges:true。我的想法是先for循环其中一个,再在for循环中嵌套for循环,好像很不科学。
这样的需求,怎么写比较高效简单?谢谢指教。
let objA = [{
id: '1111',
content: '内容内容AAA'
}, {
id: '22222',
content: '内容内容BBBB'
}, {
id: '3333333',
content: '内容内容CCCC'
}, {
id: '4444444',
content: '内容内容DDDDDD'
}, {
id: '555555',
content: '内容内容EEE'
}]
let ojbB = [{
id: '1111'
}, {
id: '3333333'
}]
本帖最后由 kesai 于 2020-8-8 16:25 编辑
var ids = new Set(ojbB.map(v => v.id));
objA.forEach(x => { if (ids.has(x.id)) x.isChanges = true; }) kesai 发表于 2020-8-8 16:23
var ids = new Set(ojbB.map(v => v.id));
objA.forEach(x => { if (ids.ha ...
膜拜大佬的js foreach循环遍历 会js的大佬,真的是信手拈来,像我就得想很久
页:
[1]