复制JSON对象
今天做项目时遇到很郁闷的事情,示例如下:
var a = json; /*一个JSON对象*/
当我对a操作后,json一起改变。
这可不是我想要的。
然后自己写了一个复制JSON对象的方法。
1 cloneJSON: function(para){
2 var rePara = null;
3 var type = Object.prototype.toString.call(para);
4 if(type.indexOf("Object") > -1){
5 rePara = jQuery.extend(true, {}, para);
6 }else if(type.indexOf("Array") > 0){
7 rePara = [];
8 jQuery.each(para, function(index, obj){
9 rePara.push(jQuery.cloneJSON(obj));
10 });
11 }else{
12 rePara = para;
13 }
14 return rePara;
15 }
2 var rePara = null;
3 var type = Object.prototype.toString.call(para);
4 if(type.indexOf("Object") > -1){
5 rePara = jQuery.extend(true, {}, para);
6 }else if(type.indexOf("Array") > 0){
7 rePara = [];
8 jQuery.each(para, function(index, obj){
9 rePara.push(jQuery.cloneJSON(obj));
10 });
11 }else{
12 rePara = para;
13 }
14 return rePara;
15 }
代码中使用了jQuery库,需要的朋友COPY一下吧。