具有两个JSON格式的js对象:

obj1 = { prop1: 1,
         prop2: 2,
         prop3: 3 }

obj2 = { prop1: 1,
         prop2: 3 }


将obj2更新为obj1并删除属性的最佳js方法是什么?通常在jQuery /角度上下文中。导致:

obj1 = { prop1: 1,   // not updated, nor overwritten
         prop2: 3    // updated
       }             // prop3 removed


还必须处理嵌套的对象和数组。

最佳答案

尝试这个:

function merge_objects(obj1,obj2){
    for (var attr in obj2) { obj1[attr] = obj2[attr]; }
    for (var attr in obj1) { if(!obj2[attr]){ delete obj1[attr]} }
    return obj1;
}

关于javascript - 根据另一个更新JSON格式的JavaScript对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30663898/

10-11 12:35