js在数组索引处插入一个元素

本文介绍了如何在JavaScript中使用正确的方法从数组中移除重复值,重点讲解了`slice`与`splice`的区别,并强调了时间复杂度为O(n)的解决方案。同时,提到了两种常见操作数组的不同方式,帮助开发者避免修改原数组。

array.splice(索引, 0, 元素);
时间复杂度O(n)
其中0代表删除0个元素

js(javaScript)如何取出数组中的不同值
js中数组中的值怎样取出来使用:
var arr = [1,2,4];
1、 var newArr = arr.slice(0,2); //从0开始 取两个元素
2、var newArr = arr.splice(0,2); //这种方法会改变原数组

JavaScript 中,如果你想**在数组的某个索引位置插入两项内容而不修改原数组**,可以使用 **不可变操作(immutable)** 来实现。这在 React、Redux 等状态管理中非常重要。 --- ### ✅ 示例:在索引插入两项内容(不修改原数组) ```javascript const originalArray = [1, 2, 5, 6]; // 在索引 2 插入 3 和 4 const newArray = [ ...originalArray.slice(0, 2), // 前两个元素 [1, 2] 3, 4, ...originalArray.slice(2) // 原数组索引 2 开始的部分 [5, 6] ]; console.log(newArray); // [1, 2, 3, 4, 5, 6] console.log(originalArray); // [1, 2, 5, 6] 原数组未被修改 ``` --- ### ✅ 说明: - `slice(0, 2)`:获取索引 0 到 2(不包含 2)的元素,即 `[1, 2]` - `slice(2)`:获取索引 2 及以后的元素,即 `[5, 6]` - 使用扩展运算符 `...` 把这些元素展开,然后中间插入新项 `3` 和 `4` - 最终组合成一个数组,不会影响原数组 --- ### ✅ 函数封装:通用插入函数 ```javascript function insertItems(arr, index, ...items) { return [ ...arr.slice(0, index), ...items, ...arr.slice(index) ]; } const originalArray = [1, 2, 5, 6]; const newArray = insertItems(originalArray, 2, 3, 4); console.log(newArray); // [1, 2, 3, 4, 5, 6] console.log(originalArray); // [1, 2, 5, 6] ``` --- ### ✅ 使用 `splice()` 修改原数组(可变操作) 如果你**不介意修改原数组**,也可以使用 `splice()`: ```javascript const arr = [1, 2, 5, 6]; arr.splice(2, 0, 3, 4); // 在索引 2 插入 3 和 4,不删除元素 console.log(arr); // [1, 2, 3, 4, 5, 6] ``` --- ### ✅ 总结对比 | 方法 | 是否修改原数组 | 是否可插入多个元素 | 是否返回新数组 | |-------------|----------------|---------------------|----------------| | `slice()` + `...` | ❌ 否 | ✅ 是 | ✅ 是 | | `splice()` | ✅ 是 | ✅ 是 | ❌ 否 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值