JavaScript 数组方法 splice() 的 3 个示例

简介: splice() 方法可以从数组中排除旧值,然后将新值插入数组。使用 splice() 后,将获得两个数组,第一个是排除的数组,第二个是编辑过的新数组。 需要注意的是,此方法会改变原数组。

splice() 方法可以从数组中排除旧值,然后将新值插入数组。使用 splice() 后,将获得两个数组,第一个是排除的数组,第二个是编辑过的新数组。 需要注意的是,此方法会改变原数组

语法

splice(start[, deleteCount[, item1[, item2[, ...]]]]) 方法的参数是从数组 start 索引开始,删除 deleteCount 个元素,返回删除元素组成的数组。

start

start 是一个从 0 开始的索引,用于指定修改的开始索引位置。如果未定义,start 的默认值为 0。如果 start 大于数组的索引范围,则从数组末尾开始添加内容。

此外,start 还可以使用负索引,则表示从数组末位开始的第几位(从 -1 计数,这意味着 -n 就是倒数第 n 个元素,其实就是等价于 array.length-n

deleteCount

deleteCount 参数是可选的,整数,表示要移除的数组元素的个数。

如果 deleteCount 大于 start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。

如果 deleteCount 被省略了,或者它的值大于等于 array.length - start (也就是说,如果它大于或者等于 start 之后的所有元素的数)),那么 start 之后数组的所有元素都会被删除。

如果 deleteCount0 或者负数,则不移除元素,这种情况下,至少应添加一个新元素。

const arrNumbers = [1,3,5,6,7];
console.log(arrNumbers.splice(0, 3)); // [ 1, 3, 5 ]
console.log(arrNumbers); // [ 6, 7 ]

item1, item2, ... 可选

要添加进数组的元素,从 start 位置开始。如果不指定,splice() 则将只删除数组元素。添加进去的元素的位置位于开始删除索引后,结束于结束索引前。

const arrNumbers = [1, 3, 5, 6, 7];
console.log(arrNumbers.splice(0, 3, 8, 9)); // [ 1, 3, 5 ]
console.log(arrNumbers); // [ 8, 9, 6, 7 ]

1. 删除元素

对于删除元素,需要指定 start  参数,以及要删除的元素数量 deleteCount ,这里所说的删除是对于原数组,需要注意的是返回的是被删除元素组成的数组

const arrNumbers = [1, 3, 5, 6, 7];
console.log(arrNumbers.splice(0)); // [ 1, 3, 5, 6, 7 ]
console.log(arrNumbers); // []

2. 在数组中插入元素

可以通过使用第三个参数即 item1, item2, ...  插入或添加元素,可以添加任意数量的元素,通过改变 startdeleteCount 值可以改变元素插入位置。

const ColorNames = (start, deleteCount, arr) => {
    arr.splice(start, deleteCount, "Pink", "Black", "Green");
    return arr;
};
// 数组后
console.log(ColorNames(2, 0, ["Golden", "Brown"])); // [ 'Golden', 'Brown', 'Pink', 'Black', 'Green' ]
// 数组前
console.log(ColorNames(0, 0, ["Golden", "Brown"])); // [ 'Pink', 'Black', 'Green', 'Golden', 'Brown' ]

3. 替换数组元素

经常需要替换数组中的一个或多个元素。 JavaScript 中没有明确命名的方法 replace ,但可以通过 splice 方法实现此方法。splice  方法不仅可以替换一个或多个元素,实际上,删除和添加数组中某个位置的元素就达到“替换”的效果。

const ColorNames = (arr) => {
    arr.splice(1, 3, "Pink", "Black", "Green");
    return arr;
};
console.log(ColorNames(["Golden", "Brown", "Yellow", "Blue", "Red"])); // [ 'Golden', 'Pink', 'Black', 'Green', 'Red' ]

上面的代码中 "Brown", "Yellow", "Blue" 被  "Pink", "Black", "Green" 所替换。


相关文章
|
19天前
|
前端开发 JavaScript 算法
使用 JavaScript 数组方法实现排序与去重
【10月更文挑战第21天】通过灵活运用 `sort()` 方法和 `filter()` 方法,我们可以方便地实现数组的排序和去重。同时,深入理解排序和去重的原理,以及根据实际需求进行适当的优化,能够更好地应对不同的情况。可以通过实际的项目实践来进一步掌握这些技巧,并探索更多的应用可能性。
95 59
|
19天前
|
JavaScript 前端开发
JavaScript 数组方法汇总
【10月更文挑战第21天】这些是 JavaScript 数组中一些常见的方法,它们为我们处理数组提供了强大的工具,使我们能够更加方便快捷地操作数组。你可以根据具体的需求选择合适的方法来实现相应的功能。同时,还可以通过组合使用这些方法来实现更复杂的数组操作。还可以进一步深入研究和探索其他数组方法,以发掘更多的应用场景和潜力。
85 59
|
4天前
|
缓存 JavaScript 前端开发
介绍一下 JavaScript 中数组方法的常见优化技巧
通过合理运用这些优化技巧,可以提高 JavaScript 中数组方法的执行效率,提升代码的整体性能。在实际开发中,需要根据具体的业务场景和数据特点选择合适的优化方法。
12 6
|
1月前
|
JavaScript
JS中的splice的三种用法(删除,替换,插入)
JS中的splice的三种用法(删除,替换,插入)
160 4
|
2月前
|
存储 缓存 JavaScript
JavaScript 中数组方法的常见优化技巧
JavaScript 中数组方法的常见优化技巧
|
1月前
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
17 0
|
2月前
|
前端开发 JavaScript 开发者
Express.js与前端框架的集成:React、Vue和Angular的示例与技巧
本文介绍了如何将简洁灵活的Node.js后端框架Express.js与三大流行前端框架——React、Vue及Angular进行集成,以提升开发效率与代码可维护性。文中提供了详细的示例代码和实用技巧,展示了如何利用Express.js处理路由和静态文件服务,同时在React、Vue和Angular中构建用户界面,帮助开发者快速掌握前后端分离的开发方法,实现高效、灵活的Web应用构建。
51 3
|
2月前
|
JavaScript 前端开发
JavaScript遍历数组用splice方法删除元素,这样写可能有遗漏,你遇到过吗?
JavaScript遍历数组用splice方法删除元素,这样写可能有遗漏,你遇到过吗?
|
2月前
|
JavaScript 前端开发 索引
JavaScript 数组中splice()的用法
本文介绍了JavaScript数组方法splice()的三种用法:删除元素、插入元素和替换元素,通过具体代码示例展示了如何使用splice()方法进行数组的修改操作。
|
3月前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例