js对比两个json对象

现在有两个json对象 obj和obj2 , 需求是从对象obj2里面去匹配obj对象中的resourceno属性(obj和obj2的数量都不确定),如果匹配成功就修改obj2中的resourceid属性为1

obj对象

var obj = [{
                id: "0",
                resourceno: "abc",
            },
            {
                id: "0",
                resourceno: "abcd",
            }]

obj2对象

var obj2 = [{
                resourceid: "0",
                resourceno: "abcd",
            },
            {
                resourceid: "0",
                resourceno: "kk",
            },{
                resourceid: "0",
                resourceno: "jj",
            }]
阅读 5.5k
2 个回答
function reg(obj1, obj2){
    for(var i = 0; i < obj1.length ; i++){
        for(var j = 0; j < obj2.length ; j++){
            if(obj2[j].resourceno == obj1[i].resourceno){
                obj2[j].resourceid = 1
            }
        }
    }
    console.log(obj2)
}

reg(obj, obj2)
let tmp = {};

obj.forEach((v) => tmp[v.resourceno] = 1);

obj2 = obj2.map((v) => {
  if (tmp[v.resourceno]) v.resourceid = 1;
  return v;
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题