JS数组的插入和删除所有方式

本文介绍了JavaScript数组的多种常用方法。包括用于搜索元素位置的indexOf(),截取元素的slice(),在末尾操作元素的push()和pop(),在头部操作元素的unshift()和shift(),还有排序的sort()、反转元素的reverse()等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

indexOf():

与String类似,Array也可以通过indexOf()来搜索一个指定的元素的位置

var arr = [12, 21, 'yy', 'conso'];
arr.indexOf(12); // 元素10的索引为0

slice:

slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array

var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']

push和pop:

push()Array的末尾添加若干元素,pop()则把Array的最后一个元素删除掉

unshift和shift:

如果要往Array的头部添加若干元素,使用unshift()方法,shift()方法则把Array的第一个元素删掉

sort:

sort()可以对当前的array进行排序,会直接修改当前array的元素位置:

var arr = ['B', 'C', 'A'];
arr.sort();
arr; // ['A', 'B', 'C']

reverse:

reverse()把整个array的元素反正,反着排序

splice:

splice()方法修改array的万能方法,可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素

concat:

concat()方法把当前的array和另一个array链接起来,返回一个新的数组array,不修改当前数组

join:

join()方法把当前array的每个元素都用指定的字符串连接起来,然后返回链接后的字符串

 

### JavaScript 中向数组插入元素的方法 在 JavaScript 中,可以通过多种方式数组插入元素。以下是几种常见的方法及其具体实现: #### 方法一:`push()` 向数组末尾添加单个或多个元素 此方法用于将一个或多个新元素追加到数组的末尾,并返回新的数组长度。 ```javascript var array = [1, 2, 3]; array.push(4); console.log(array); // 输出: [1, 2, 3, 4] ``` 这种方法适用于需要扩展数组并保持原有顺序的情况[^2]。 --- #### 方法二:`unshift()` 向数组开头添加单个或多个元素 该方法会在数组的第一个位置插入一个或多个元素,并返回更新后的数组长度。 ```javascript var array = [1, 2, 3]; array.unshift(0); console.log(array); // 输出: [0, 1, 2, 3] ``` 这是当希望在不改变其他元素索引的情况下,在数组头部增加数据时的理想选择[^1]。 --- #### 方法三:`splice()` 在指定位置插入元素 `splice()` 是一种更灵活的方式,允许开发者定义要修改的具体位置以及删除/替换的数量。通过设置第三个参数为 `0` 可以仅执行插入操作而不移除任何现有项。 ```javascript let fruits = ["apple", "banana"]; fruits.splice(1, 0, "orange"); console.log(fruits); // 输出: ["apple", "orange", "banana"] ``` 它提供了精确控制的能力来调整任意部分的内容结构[^3]。 --- #### 方法四:`concat()` 连接两个或者更多数组中的元素形成一个新的数组 虽然严格意义上来说这不是直接“插入”,但它确实能够创建包含原始列表加上额外项目的组合版本而不会影响原对象本身。 ```javascript const originalArr = ['red', 'green']; const newArr = originalArr.concat(['blue']); console.log(newArr); // 输出: ['red', 'green', 'blue'] ``` 这种方式适合于构建基于已有集合的新实例而非就地更改旧的数据集[^4]。 综上所述,每种技术都有其特定的应用场景,请依据实际需求选取合适的方案完成相应的功能开发工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值