本文介绍jQuery中处理JSON对象的几种常用方法。通过$.map进行数组复制时需注意字段丢失问题,推荐使用jQuery.extend实现浅层或深层复制以保留完整属性。此外,结合$.grep进行数组过滤及原生sort方法进行排序,可高效完成数据操作。
使用$.map进行对象复制
代码如下:
$.map(json, function (n) { return n; }); 该方法最初适用于数组复制,但在尝试复制数组中特定记录时,发现字段名称出现丢失现象,随后发现了另一种更可靠的方法。
2、深复制与浅复制
利用jQuery.extend实现深拷贝与浅拷贝
代码如下:
// 浅层复制(仅复制顶层非对象元素)
var newObject = jQuery.extend({}, oldObject);
// 深层复制(递归复制直至最底层)
var newObject = jQuery.extend(true, {}, oldObject); 采用深层复制方式后,复制对象时字段丢失的问题得以解决。
3、数组的过滤
通过$.grep进行数组过滤
查阅JavaScript数组方法时发现缺乏直接的过滤功能,而jQuery提供了相关支持,经测试效果良好。
代码如下:
$.grep(jsonTmp, function (item)
{
return item.LegendTitle == field;
}, false); 回调函数的具体内容需根据实际需求编写,若遇问题可参考jQuery官方文档,其中说明详尽。
4、顺便说一下数组的排序
数组排序技巧
代码如下:
json2.sort(function (a, b) { return a["requiredColumn"]["crimeTime"] > b["requiredColumn"]["crimeTime"] ? 1 : -1 }); 此方法使用便捷。