JS与JQ合并对象

若是须要将下面的json对象合并:javascript

  1. var a ={"a":"1","b":"2"}
  2. var b ={"c":"3","d":"4","e":"5"}

想获得结果:java

  1. var c ={"a":"1","b":"2","c":"3","d":"4","e":"5"}

直接使用js的话,能够用一下方法:jquery

  1. <script>
  2. function extend(des, src, override){
  3.    if(src instanceof Array){
  4.        for(var i = 0, len = src.length; i < len; i++)
  5.             extend(des, src[i], override);
  6.    }
  7.    for( var i in src){
  8.        if(override || !(i in des)){
  9.            des[i] = src[i];
  10.        }
  11.    }
  12.    return des;
  13. }
  14. var a ={"a":"1","b":"2"}
  15. var b ={"c":"3","d":"4","e":"5"}
  16. var c = extend({}, [a,b]);
  17. alert(c.a);
  18. </script>

固然若是你加载了jquery,那就更方便了。可使用$.extend()方法,该方法有两种模式;json

jQuery.extend( target [, object1 ] [, objectN ] )  #将后面的对象合并到新的对象中{}

jQuery.extend( [deep ], target, object1 [, objectN ] )  #将后面的对象合并到新的对象中{},若是深度deep为true则将递归合并成为新对象.

实例:

    1. <script type="text/javascript">
    2.     # 请记得先加载jquery
    3.     var a ={"a":"1","b":"2"}
    4.     var b ={"c":"3","d":"4","e":"5"}
    5.     var c = $.extend({}, a,b);
    6.     console.log(c);
    7. </script>
      若是是:
      var c = $.extend({}, [a,b]);
      -->{"0":{"a":"1","b":"2"},"1":{"c":"3","d":"4","e":"5"}}
相关文章
相关标签/搜索