jQuery中json对象的复制方式介绍(数组及对象)
作者:
本文为大家介绍下jQuery中json对象的复制:jQuery自带的$.map方式、深复制与浅复制等等,感兴趣的朋友可以参考下哈,希望对大家有所帮助
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 });
这个用起来也比较方便
复制代码 代码如下:
$.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 });
这个用起来也比较方便