• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Joanna Qian
Stay Hungry, Stay Foolish!
博客园    首页    新随笔    联系   管理    订阅  订阅
jquery 中json数组的操作(转)

在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多。

今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像JSON数据是以数组的形式出现的,查阅了下相关JS中数组的操作一试果然很爽。

记录下来。

1、数组的创建

var arrayObj = new Array(); //创建一个数组

var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度

var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值

    要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2、数组的元素的访问

var testGetArrValue=arrayObj[1]; //获取数组的元素值

arrayObj[1]= "这是新值"; //给数组元素赋予新的值

3、数组元素的添加——栈方法和队列方法

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);      // 将一个或多个新元素按从左到右的顺序依次添加到数组的尾部,返回更新后的数组长度

arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);   // 将一个或多个新元素按照从右到左的顺序依次添加到数组的首部,数组中的元素自动后移,返回数组新长度

arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]); //将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""

4、数组元素的删除——栈方法和队列方法

arrayObj.pop();     //移除最后一个元素并返回尾部元素,更新数组的长度

arrayObj.shift();    //移除最前一个元素并并返回数组首部元素,更新数组的长度

arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素

5、数组的截取和合并

arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素

arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

6、数组的拷贝

arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向

arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7、数组元素的排序

arrayObj.reverse();   //反转元素(最前的排到最后、最后的排到最前),返回数组地址

arrayObj.sort();       //将数组中的元素按ASCII字符(都看作是一个字符串)进行升序排列,返回数组地址

8、数组元素的字符串化

arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。

toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

9、splice()操作方法

  •  (1) 删除操作:splice(sIndex, len):其中sIndex为起始位置, len为截取的数组长度,例如:
 var removed = array.splice(1,3);
 alert(removed);//["red", "orange", "gray"]
 alert(array);//["black", "green"]
     显然, 有删除项时,返回由这些删除项构成的新数组。(原数组保留未删除的部分)
  •  (2) 插入操作:splice(rIndex, 0 , args...):其中rIndex为要插入的位置,args为要替换的元素,例如:
 removed = array.splice(1, 0, "yellow");
 if (0 == removed.length) {
  alert("这是一个空的数组对象");
 }
 alert(array);//["black", "yellow", "green"]
    由上例可见, 无删除项时,返回一个空对象数组。向数组中插入一个以及多个元素,数组里面中rIndex位置上及其后面位置上的元素依次向后移动。
  • (3) 替换操作:splice(sIndex, len, args...):首先删除sIndex位置及其以后的len个元素,然后将args从sIndex位置开始逐个执行插入操作,例如:
 removed = array.splice(1, 2, "orange");
 alert(array);//["black", "orange"]
 alert(removed);//["yellow", "green"]

转载自:http://www.cnblogs.com/hrh0627/archive/2011/01/07/1930424.html

posted on 2013-11-22 00:00  Joanna Qian  阅读(2973)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3