jQuery中json对象的复制方式介绍(数组及对象)
$.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 });
这个用起来也比较方便
相关推荐
-
JavaScript数组复制详解
前面的话 前面的博文中介绍了对象拷贝,本文将详细介绍数组复制 push function copyArray(arr){ var result = []; for(var i = 0; i < arr.length; i++){ result.push(arr[i]); } return result; } var obj1=[1,2,3]; var obj2=copyArray(obj1); console.log(obj1); //[1,2,3] console.log(obj2); /
-
Javascript 复制数组实现代码
一. 错误实现 不少人可能直接就用等号进行赋值了: 复制代码 代码如下: var array1 = new Array("1","2","3"); var array2; array2 = array1; array1.length = 0; alert(array2); //返回为空 这种做法是错的,因为javascript分原始类型与引用类型(与java.c#类似).Array是引用类 型.array2得到的是引用,所以对array1的修改会
-
深入理解JavaScript中的对象复制(Object Clone)
JavaScript中并没有直接提供对象复制(Object Clone)的方法.因此下面的代码中改变对象b的时候,也就改变了对象a. a = {k1:1, k2:2, k3:3}; b = a; b.k2 = 4; 如果只想改变b而保持a不变,就需要对对象a进行复制. 用jQuery进行对象复制 在可以使用jQuery的情况下,jQuery自带的extend方法可以用来实现对象的复制. a = {k1:1, k2:2, k3:3}; b = {}; $.extend(b,a); 自定义clone
-
改进版通过Json对象实现深复制的方法
之前看到博客的关于Json对象的深复制方法,即 复制代码 代码如下: var obj = { sayName: function() { alert(this.name); }, name:'静水渊' };var cloneObj=JSON.parse(JSON.stringify(obj));cloneObj.sayName(); 但这种方式,不能复制属性值是函数的属性,因此改进了方法,以下是具体代码: 复制代码 代码如下: var obj = { sayName: function() {
-
JavaScript 数组的深度复制解析
对于javascript而言,数组是引用类型,如果要想复制一个数组就要动脑袋想想了,因为包括concat.slice在内的函数,都是浅层复制.也就是说,对于一个二维数组来说,用concat来做复制,第二维的数组还是引用,修改了新数组同样会使旧数组发生改变. 于是乎,想要写一个深度复制的函数,来帮助做组数的深度复制. 一般情况下,使用 "=" 可以实现赋值.但对于数组.对象.函数等这些引用类型的数据,这个符号就不好使了. 1. 数组的简单复制 1.1 简单遍历 最简单也最基础的方式,自然
-
javascript复制对象使用说明
oldObj是一个对象,而不是值 例如var newObj=oldObj; 如果想oldObj改变的时候不影响到newObj: 可以这样写一个函数 复制代码 代码如下: function clone(myObj){ if(typeof(myObj) != 'object') return myObj; if(myObj == null) return myObj; var myNewObj = new Object(); for(var i in myObj) myNewObj[i] = clo
-
javascript 三种数组复制方法的性能对比
一. 三种数组复制方法 1. by slice var arr = [1, 2, 3], copyArr; copyArr = arr.slice(); 2. by concat var arr = [1, 2, 3], copyArr; copyArr = arr.concat(); 3. by loop var arr = [1, 2, 3], copyArr = []; for (var i=0, j=arr.length; i 二. 测试环境 浏览器: IE6+, FF 3.5.5, O
-
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
jq的extend()方法能很方便的实现扩展对象方法,语法如下:$.extend(obj1,boj2,obj3); 现在要实现的是:原生js实现复制对象,扩展对象,类似jq中的extend()方法,具体实例如下: 现有3个对象字面量: var o1={hello:1,old:555}, o2 = { abc: 55555555, hello: 2, fun: function() { alert(111); } }, o3={third:9999}; 实现目标: 复制o1对象,把 o2,o3的对
-
js中如何复制一个对象并获取其所有属性和属性对应的值
在js中如何复制一个对象,例如如下一个js对象. 如果知道这个对象的所有属性自然就可以重新new一个,然后对每个属性赋值,就可以做到,但如果不知道呢?如何创建一个内容相同 的对象呢? 复制代码 代码如下: var obj={ colkey: "col", colsinfo: "NameList" } 最简单就是使用for in, 例如obj2就拥有了和obj完全相同的属性 复制代码 代码如下: var obj2=new Object(); for(var p in
-
JavaScript数组和对象的复制
一.数据类型 从狭义上来说,JS把所有的数据分成两大类型:基本类型和引用类型,其中基本类型包括Undefined.Null.Boolean.Number和String,引用类型为Object,常用的Array.Date.RegExp.Function等都属于Object类型. 基本型数据和引用型数据的区别之一就是,在复制变量时,基本型数据复制独立的一份新的拷贝,而引用型数据复制的是原变量的引用.下面是一个例子: // 基本类型数据的复制 var a = 10; var b = a; // b =
随机推荐
- asp画中画广告插入在每篇文章中的实现方法
- iframe的使用用法
- oracle误删数据表还原的二种方法(oracle还原)
- JS原型与原型链的深入理解
- Jquery判断$("#id")获取的对象是否存在的方法
- Windows下安装python2和python3多版本教程
- 引用 js在IE与FF之间的区别详细解析
- 关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
- php和editplus正则表达式去除空白行
- 安装Python的web.py框架并从hello world开始编程
- Lab.js初次使用笔记
- Jquery 垂直多级手风琴菜单附源码下载
- EasyUI Datebox 日期验证之开始日期小于结束时间
- jQuery客户端分页实例代码
- jQuery动态加载css文件实现方法
- C语言中函数参数的入栈顺序详解及实例
- vue 文件目录结构详解
- Java解压zip文件完整代码分享
- nodejs调取微信收货地址的方法
- PHP+MySQL高并发加锁事务处理问题解决方法