首页 > 代码库 > jQuery中json对象的复制(数组及对象)

jQuery中json对象的复制(数组及对象)

摘自: http://www.2cto.com/kf/201306/218838.html

 

1、jQuery自带的$.map方式:

$.map(json, function (n) { return n; });

这种方式原来用于复制数组还可以,今天用它复制数组中的某一条记录,发现字段名称丢失了,后来发现了第二种方法。

 

2、深复制与浅复制

// 浅层复制(只复制顶层的非 object 元素) 

var newObject = jQuery.extend({}, oldObject); 

// 深层复制(一层一层往下复制直到最底层) 

var newObject = jQuery.extend(true, {}, oldObject); 

用的是深复制的方式,复制对象时发现字段丢失的现象没有了。

 

3、数组的过滤

找了一下javascript的数组的方法,没有过滤的方法,后来发现jQuery有提供,尝试了一下,居然很好用。

$.grep(jsonTmp, function (item)
    {
     return item.LegendTitle == field;
    }, false);

function的内容根据实际的需要写就可以了,不行的话参考jQuery的帮助,那里说的很详细。

 

4、顺便说一下数组的排序

json2.sort(function (a, b) { return a["requiredColumn"]["crimeTime"] > b["requiredColumn"]["crimeTime"] ? 1 : -1 });

这个用起来也比较方便