JS数组操作之增删改查的简单实现
发布时间 - 2026-01-11 02:52:53 点击率:次JS提供了很多方便操作数组的方法,本文所要分享的就是如何快速对数组进行增、删、改、查。

一、增
1、push()
可接收任意数量的参数,把它们逐个添加至数组末尾,并返回修改后数组的长度。例如:
var arr = []; var len = arr.push(1); console.log(arr); // [1] console.log(len); // 1 len = arr.push(2,3); console.log(arr); // [1,2,3] console.log(len); // 3
2、unshift()
该方法与push()类似,也可接收任意数量的参数,只不过是将参数逐个添加至数组前端而已,同样返回新数组长度。咱们接着上面的例子:
var len = arr.unshift(0); console.log(arr); // [0, 1, 2, 3] console.log(len); // 4 len = arr.unshift(-2,-1); console.log(arr); // [-2, -1, 0, 1, 2, 3] console.log(len); // 6
3、concat()
该方法与push()方法有点类似,同样是将元素添加至数组末尾,只不过这个数组已经不是原来的那个数组了,而是其副本,所以concat()操作数组后会返回一个新的数组。具体用法如下:
① 不传参数,返回当前数组副本
② 传递一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中
③ 传递非数组参数,这些参数就会被直接添加到结果数组的末尾
继续接着上面的栗子:
var arr1 = arr.concat(4,[5,6]); console.log(arr); // [-2, -1, 0, 1, 2, 3] console.log(arr1); // [-2, -1, 0, 1, 2, 3, 4, 5, 6]
例子中一目了然,原数组保持不变,新数组后面添加了4、5、6三个元素。
4、splice()
前面的三个方法都具有很大局限性,因为不是添加到数组前就是数组后,而splice()就不一样了,它非常灵活和强大。灵活是因为它可以添加元素到数组的任意位置,强大是因为它除了可以添加元素之外还具有删除和替换元素的功能(这个后面会陆续讲到)。
splice()可以向数组指定位置添加任意数量的元素,需要传入至少3个参数: 起始位置、0(要删除的元素个数)和要添加的元素。
依然接着上面的例子继续:
arr.splice(3,0,0.2,0.4,0.6,0.8); console.log(arr); // [-2, -1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 3]
可以看出,splice()与push()和unshift()一样是直接在原数组上修改的。
二、删
1、pop()
与push()方法配合使用可以构成后进先出的栈,该方法可从数组末尾删除最后一项并返回该项。
接着上例:
var item = arr.pop(); console.log(item); // 3 console.log(arr); // [-2, -1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2]
2、shift()
与push()方法配合使用可以构成先进先出的队列,该方法可删除数组第一项并返回该项。
继续接着上例:
var item = arr.shift(); console.log(item); // -2 console.log(arr); // [-1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2]
3、slice()
该方法同concat()一样是返回一个新数组,不会影响原数组,只不过slice()是用来裁剪数组的,返回裁剪下来的数组,具体用法如下:
slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项。
咱们还是继续接着上面例子吧~~
var arr2 = arr.slice(2,6); console.log(arr); // [-1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2] console.log(arr2); // [0.2, 0.4, 0.6, 0.8]
4、splice()
好,继续讲这个“万能”的方法。
上面讲到,该方法在添加数组元素的时候需要传入3个以上参数,而其中第2个参数就是用于指定要删除元素的个数的,那时我们传的是数字0。那么,如果单单只需删除元素,我们就只需给splice()传入两个参数,第1个参数用于指定要删除的第一项的位置,第2个参数用于指定要删除元素的个数。
继续上例~~
arr.splice(2,4); console.log(arr); // [-1, 0, 1, 2]
从索引项为2的位置开始删除4个元素,所以结果为 [-1, 0, 1, 2]。
三、改
这个其实最灵活的方式就是直接使用splice()这个强大的方法了,其实通过以上对该方法的了解,我们大致就能知道使用该方法修改数组元素的基本原理。
原理很简单,就是向指定位置插入任意数量的元素,且同时删除任意数量的元素。
依然继续上例~~
arr.splice(2,1,0.5,1,1.5); console.log(arr); // [-1, 0, 0.5, 1, 1.5, 2]
四、查
indexOf()和lastIndexOf()
这两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,indexOf()从数组的开头(位置0)开始向后查找,lastIndexOf()方法则从数组的末尾开始向前查找。
例如:
var index = arr.indexOf(0); console.log(index); // 1 index = arr.indexOf(3,0); console.log(index); // -1
当找不到该元素时,返回 -1 ,lastIndexOf()方法同理。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js数组的增删改查
# js
# 数组增删
# js数组增删改查
# JS操作对象数组实现增删改查实例代码
# JavaScript数组常用的增删改查与其他属性详解
# JS实现数组的增删改查操作示例
# javascript js 操作数组 增删改查的简单实现
# 浅谈JavaScript中数组的增删改查
# JS 中数组的增删改查和对象的增删改查实例详解
# 只需
# 该项
# 讲到
# 的是
# 组中
# 只不过
# 就会
# 是因为
# 就能
# 多个
# 找不到
# 也可
# 这两个
# 很简单
# 第一项
# 只有一个
# 它可以
# 因为它
# 可选
# 可以看出
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在阿里云服务器自主搭建网站?
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
Bootstrap整体框架之CSS12栅格系统
如何获取PHP WAP自助建站系统源码?
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
如何快速搭建高效服务器建站系统?
Laravel怎么判断请求类型_Laravel Request isMethod用法
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
零服务器AI建站解决方案:快速部署与云端平台低成本实践
高性能网站服务器配置指南:安全稳定与高效建站核心方案
javascript中对象的定义、使用以及对象和原型链操作小结
详解Android——蓝牙技术 带你实现终端间数据传输
linux top下的 minerd 木马清除方法
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
Android GridView 滑动条设置一直显示状态(推荐)
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
北京网站制作公司哪家好一点,北京租房网站有哪些?
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
如何快速启动建站代理加盟业务?
微信小程序 require机制详解及实例代码
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
Swift开发中switch语句值绑定模式
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
php打包exe后无法访问网络共享_共享权限设置方法【教程】
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
韩国服务器如何优化跨境访问实现高效连接?
Bootstrap CSS布局之列表
独立制作一个网站多少钱,建立网站需要花多少钱?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
jquery插件bootstrapValidator表单验证详解
Python结构化数据采集_字段抽取解析【教程】
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
在centOS 7安装mysql 5.7的详细教程
千库网官网入口推荐 千库网设计创意平台入口
Laravel模型事件有哪些_Laravel Model Event生命周期详解
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
个人网站制作流程图片大全,个人网站如何注销?
Laravel如何实现API资源集合?(Resource Collection教程)
如何用西部建站助手快速创建专业网站?
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
Linux系统命令中tree命令详解
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
下一篇:长沙专业做网站哪家公司服务更优?
下一篇:长沙专业做网站哪家公司服务更优?

