数组的增删改操作

对数组的增删改操作进行总结,下面(一,二,三)是对数组的增加,修改,删除操作都会改变原来的数组.

(一)增加

向末尾增加

push() 返回新增后的数组长度

arr[arr.length] 通过arr.length来向数组末尾增加

push方法

var arr=[11,12,13,14,15];
var res=arr.push(16)
console.log(res,arr);//数组长度6 数组内容[ 11, 12, 13, 14, 15, 16 ]

arr[arr.length]方法

var arr=[11,12,13,14,15];
arr[arr.length]=16;
console.log(arr);//数组内容 [ 11, 12, 13, 14, 15, 16 ]

向开头增加

unshift() 返回新增后的数组长度

var arr=[11,12,13,14,15];
var res=arr.unshift(10)
console.log(res,arr);//数组长度6, 数组内容[ 10, 11, 12, 13, 14, 15 ]

(二)删除

删除末尾最后一项

pop() 返回删除的内容

arr.length--或者arr.length=arr.length-1让数组的长度减一也可以实现删除,减一删除最后一个,也可以减2减3等等.

pop()方法

var arr=[11,12,13,14,15];
var res=arr.pop();
console.log(res,arr);//删除的内容15 数组内容 [ 11, 12, 13, 14 ]

arr.length--方法

var arr=[11,12,13,14,15];
arr.length--;
console.log(arr);//数组内容[ 11, 12, 13, 14 ]

删除数组的第一项

shift() 返回删除的内容

var arr=[11,12,13,14,15];
var res=arr.shift();
console.log(res,arr);//删除的内容11 数组内容 [ 12, 13, 14, 15 ]

(三)用splice来对数组进行增删改操作

splice()方法:

二个参数时 splice(n,m)    从索引n处开始删除到索引m,  再把删除的内容用新数组存储起来并返回.

一个参数时 splice(n)        从索引n处开始删除删除到末尾,  再把删除的内容用新数组存储起来并返回.

三个或三个以上参数 splice(n,0,m) 第二个参数为0表示不删除,并从n的位置添加第三个参数, 再把删除的内容用新数组存储起来并返回,因为没删除所以这里返回的是空数组

二个参数时splice(n,m) (可以用它删除数组第一项或最后一项,或任意一项都可以)

var arr=[11,12,13,14,15];
var res=arr.splice(0,1);
console.log(res,arr);//删除的内容[ 11 ] 数组内容 [ 12, 13, 14, 15 ]

一个参数时splice(n)(从事索引n开始删除到末尾)

var arr=[11,12,13,14,15];
var res=arr.splice(0);
console.log(res,arr);//删除的内容[11,12,13,14,15] 数组内容 []

三个或三个以上参数(可以实现修改,添加,删除操作)

修改把下面代码第一项修改为10,先把第一项删除,再添加上新的值

var arr=[11,12,13,14,15];
var res=arr.splice(0,1,10);//把第一项改为10
console.log(res,arr);//删除的内容[11,12,13,14,15] 数组内容 [ 10, 12, 13, 14, 15 ]

向尾部添加一些新的值,第二项为0 表示不删除,添加第三项以及之后的数值

var arr=[11,12,13,14,15];
var res=arr.splice(arr.length,0,16,17);//第二项为0 表示不删除,添加第三项以及之后的数值
console.log(res,arr);//删除的内容[] 数组内容 [ 11, 12, 13, 14, 15, 16, 17 ]

(四)用slice实现数组的查询

这个方法不会改变原来的数组,arrayObject.slice(start,end)有二个参数,二个参数都可以省略,(以前学的时候说是第一个是必须的,看了mdn说是二个都可以省略,试了一下确实可以省略).

slice方法:

二个参数时 slice(n,m)  从索引n开始找到索引为m的地方(不包过索引m),找到的数组以新数组返回

一个参数时 slice(n)  从索引n开始找到末尾,找到的数组以新数组返回

二个参数:

var arr=[11,12,13,14,15];
var res=arr.slice(0,3);
console.log(res);//找到的内容[ 11, 12, 13 ]

一个参数:从索引n开始找到末尾

var arr=[11,12,13,14,15];
var res=arr.slice(0);
console.log(res);//找到的内容[ 11,12,13,14,15]

没有参数时,从索引0开始一直找到末尾

var arr=[11,12,13,14,15];
var res=arr.slice();
console.log(res);//找到的内容[ 11,12,13,14,15]

第一个参数为负数时,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。

var arr=[11,12,13,14,15];
var res=arr.slice(-3);
console.log(res);//找到的内容[ 13, 14, 15 ]

最新文章

  1. (转)Excel的 OleDb 连接串的格式(连接Excel 2003-2013)
  2. 关于 js 一些基本的东西
  3. hadoop分布式存储(1)-hadoop基础概念(毕业设计)
  4. HDU 1392 凸包模板题,求凸包周长
  5. centos的安装,网络的调试
  6. 【JavaEE】SSH+Spring Security基础上配置AOP+log4j
  7. ubuntu14.04安装与配置nginx服务器
  8. [ActionScript 3.0] Away3D 天空盒(skybox)例子2
  9. C#制作一个消息拦截器(intercept)1
  10. 【原】web服务器占有量统计等 web网站
  11. C语言练习题_北理工的恶龙
  12. 如何解决安卓SDK无法下载Package的问题
  13. POJ 1556 计算几何+最短路
  14. Vector(容器)
  15. iOS8.0以后的相册
  16. JavaScript实现一个复数类
  17. 201521123007《Java程序设计》第12周学习总结
  18. Hive简单安装
  19. Python 爬取猫眼电影最受期待榜
  20. linux下的系统垃圾清理

热门文章

  1. 牛客 197E 01串
  2. win10下搭建vue开发环境
  3. 电脑无法上网,DNS出现fec0:0:0:ffff::1%1问题
  4. spring利用xml配置定时任务
  5. 轻松使用hsqldb小型数据库
  6. js获取图片内容上传
  7. weblogic 反序列化漏洞 getshell
  8. OpenCl入门getting-started-with-opencl-and-gpu-computing
  9. DataTable序列化及反序列化Json
  10. OSI网络通信工作流程的标准化 ----- 理论