Merge two objects without override

前端 未结 6 1486
北荒
北荒 2020-12-17 10:40

I have a defaultObject like that:

var default = {
    abc: \"123\",
    def: \"456\",
    ghi: {
       jkl: \"789\",
       mno: \"012\"
    }
};

6条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-17 10:54

    With ES2015 now being supported in all modern browsers, the native Object.assign can be used to extend objects

    Object.assign({}, _default, values)
    

    Object.assign

    Note that default is a reserved keyword, and can't be used as a variable name


    The original answer, written in 2013 :

    Since this is tagged with jQuery, you could use $.extend for a simple cross-browser solution

    var temp = {};
    $.extend(true, temp, _default, values);
    values = temp;
    

提交回复
热议问题