javascript数组的增删改和查询
数组的增删改操作
对数组的增删改操作进行总结,下面(一,二,三)是对数组的增加,修改,删除操作都会改变原来的数组.
(一)增加
向末尾增加
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 ]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2018-11-13 点击复制文本