吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 919|回复: 4
收起左侧

[求助] JS对象比较并新增属性的问题

  [复制链接]
cqwcns 发表于 2020-8-8 16:13
我有两个格式类似如下的数组对象,我希望objA对比ojbB,如果id重复的(即objA和ojbB都有相同的ID),则在objA的对应对象中添加一个属性isChanges:true。
我的想法是先for循环其中一个,再在for循环中嵌套for循环,好像很不科学。
这样的需求,怎么写比较高效简单?谢谢指教。


[JavaScript] 纯文本查看 复制代码
            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:23
本帖最后由 kesai 于 2020-8-8 16:25 编辑

[JavaScript] 纯文本查看 复制代码
var ids = new Set(ojbB.map(v => v.id));
objA.forEach(x => { if (ids.has(x.id)) x.isChanges = true; })

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
cqwcns + 1 + 1 热心回复!
独白~~ + 1 + 1 我很赞同!

查看全部评分

无常方便面 发表于 2020-8-8 17:42
kesai 发表于 2020-8-8 16:23
[mw_shl_code=javascript,true]var ids = new Set(ojbB.map(v => v.id));
objA.forEach(x => { if (ids.ha ...

膜拜大佬的js
枫惜颜 发表于 2020-8-8 17:52
luanshils 发表于 2020-8-8 18:13
会js的大佬,真的是信手拈来,像我就得想很久
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 13:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表