合并Javascript对象

这个问题在这里已经有了答案:

  • 我如何动态合并两个JavaScript对象的属性? 55个答案

  • 使用Object.keysArray#forEach

    var object1 = {
      id: 1,
      name: "myname",
      boleanSample: true,
    };
    
    var object2 = {
      unknownKeyName: "UnknownValue" //correct typo here
    };
    Object.keys(object2).forEach(function(key) {
      object1[key] = object2[key];
    });
    console.log(object1);

    这个合并函数应该这样做。 只记得先添加你想要追加的对象。

    var object1 = {
     id: 1,
     name: "myname",
     boleanSample : true
    }
    
    
    var object2 = {
     unknownKeyName : "UnknownValue"
    }
    
    function mergeObjects(a,b){
      for(var bi in b) {
        if(b.hasOwnProperty(bi)) {
          if(typeof a[bi] === "undefined") {
            a[bi] = b[bi];
          }
        }
      }
    }
    mergeObjects(object1,object2);
    console.log(object1);

    第一步:遍历属性。

    第二步:尝试并检查对象

    第三步:如果真的,在obj [prop]上激活函数并检查,否则只需检查。

    第四步:如果有错误obj [prop] = check;

    第五步:返回obj

    /*functions*/
    function objectConcat(o1, o2) {
      for (var v in o2) {
        try {
          o1[v] = (o2[v].constructor == Object) ? objectConcat(o1[v], o2[v]) : o2[v];
        } catch (e) {
          o1[v] = o2[v];
        }
      }
      return o1;
    }
    
    /*objects*/
    var object1 = {
      id: 1,
      name: "myname",
      boleanSample: true,
    }
    
    var object2 = {
      unknownKeyName: "UnknownValue" /*mistake straighten*/
    }
    
    /*code*/
    
    console.log(objectConcat(object2, object1));
    链接地址: http://www.djcxy.com/p/27343.html

    上一篇: Merge Javascript object

    下一篇: How to extend javascript objects?