JS数组操作之增删改查的简单实现
来源:互联网 发布:净水壶 净水器 知乎 编辑:程序博客网 时间:2024/05/16 01:28
一、增
1、push()
可接收任意数量的参数,把它们逐个添加至数组末尾,并返回修改后数组的长度。例如:
2、unshift()
该方法与push()类似,也可接收任意数量的参数,只不过是将参数逐个添加至数组前端而已,同样返回新数组长度。咱们接着上面的例子:
3、concat()
该方法与push()方法有点类似,同样是将元素添加至数组末尾,只不过这个数组已经不是原来的那个数组了,而是其副本,所以concat()操作数组后会返回一个新的数组。具体用法如下:
① 不传参数,返回当前数组副本
② 传递一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中
③ 传递非数组参数,这些参数就会被直接添加到结果数组的末尾
继续接着上面的栗子:
例子中一目了然,原数组保持不变,新数组后面添加了4、5、6三个元素。
4、splice()
前面的三个方法都具有很大局限性,因为不是添加到数组前就是数组后,而splice()就不一样了,它非常灵活和强大。灵活是因为它可以添加元素到数组的任意位置,强大是因为它除了可以添加元素之外还具有删除和替换元素的功能(这个后面会陆续讲到)。
splice()可以向数组指定位置添加任意数量的元素,需要传入至少3个参数: 起始位置、0(要删除的元素个数)和要添加的元素。
依然接着上面的例子继续:
可以看出,splice()与push()和unshift()一样是直接在原数组上修改的。
二、删
1、pop()
与push()方法配合使用可以构成后进先出的栈,该方法可从数组末尾删除最后一项并返回该项。
接着上例:
2、shift()
与push()方法配合使用可以构成先进先出的队列,该方法可删除数组第一项并返回该项。
继续接着上例:
3、slice()
该方法同concat()一样是返回一个新数组,不会影响原数组,只不过slice()是用来裁剪数组的,返回裁剪下来的数组,具体用法如下:
slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项。
咱们还是继续接着上面例子吧~~
4、splice()
好,继续讲这个“万能”的方法。
上面讲到,该方法在添加数组元素的时候需要传入3个以上参数,而其中第2个参数就是用于指定要删除元素的个数的,那时我们传的是数字0。那么,如果单单只需删除元素,我们就只需给splice()传入两个参数,第1个参数用于指定要删除的第一项的位置,第2个参数用于指定要删除元素的个数。
继续上例~~
从索引项为2的位置开始删除4个元素,所以结果为 [-1, 0, 1, 2]。
三、改
这个其实最灵活的方式就是直接使用splice()这个强大的方法了,其实通过以上对该方法的了解,我们大致就能知道使用该方法修改数组元素的基本原理。
原理很简单,就是向指定位置插入任意数量的元素,且同时删除任意数量的元素。
依然继续上例~~
四、查
indexOf()和lastIndexOf()
这两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,indexOf()从数组的开头(位置0)开始向后查找,lastIndexOf()方法则从数组的末尾开始向前查找。
例如:
当找不到该元素时,返回 -1 ,lastIndexOf()方法同理。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JS数组操作之增删改查的简单实现
- js实现的增删改查操作
- javascript js 操作数组 增删改查
- js数组以及json元素的操作-增删改查
- js对数组元素的操作-增删改查
- js中数组的增删改查
- 数据结构之数组的增删改查-java实现
- 数组的增删改查操作
- mybatis-简单的增删改查操作
- mybatis-简单的增删改查操作
- 数据库的简单操作----增删改查
- java实现数组的增删改查
- js实现的增删改查
- js实现表格的增删改查
- js实现表格的增删改查
- js实现表格的增删改查
- mongodb实现简单的增删改查
- Hibernate实现简单的增删改查
- Apache Hadoop 3.0.0-beta1 正式发布,2017-11-01发布GA版即可在线上使用
- JSP里面向数据库里面插入数据时出现乱码的解决方法
- javascript的 || 和 &&
- 轮播图+小圆点
- 在Unity中实现首次打开APP进行教学的功能
- JS数组操作之增删改查的简单实现
- 第7周【项目1
- IDS和IPS的部署细节科普
- mysql中索引的操作
- Spring Boot系列(四):thymeleaf使用详解
- laravel中对象数据转换为数组的快捷方法
- 爬虫知识点(xpath)
- Spring学习笔记1——基础知识
- Android Studio安装插件 重启后保存不上的问题