js中splice()和slice()方法有什么区别?

在JavaScript中,splice()slice() 是两个经常用于操作数组的方法,但它们的功能和用途有明显的区别。

  1. splice() 方法

splice() 方法用于添加/删除数组中的元素。它接受至少两个参数:第一个参数定义了从哪个索引位置开始修改数组,第二个参数定义了要删除的元素数量。如果提供了更多的参数,那么这些参数将被添加到数组中,从指定的索引位置开始。

语法:

array.splice(index, howmany, item1, ....., itemX)
  • index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
  • howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
  • item1, ..., itemX:可选。向数组添加的新项目。

例如:

let fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi"); // 从索引2开始,删除0个元素,然后添加"Lemon"和"Kiwi"
console.log(fruits); // ["Banana", "Orange", "Lemon", "Kiwi", "Apple", "Mango"]
  1. slice() 方法

slice() 方法用于提取数组的一部分,并返回一个新数组,原始数组不会被改变。它接受两个参数:第一个参数定义了从哪个索引位置开始提取,第二个参数(可选)定义了在哪个索引位置结束提取(但不包括该位置的元素)。

语法:

array.slice(begin, end)
  • begin:可选。提取起始处的索引,从 0 开始。如果该参数是负数,表示从末尾开始算起的索引。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
  • end:可选。提取结束处的索引(但不包含)。如果省略该参数,slice() 会一直提取到数组末尾。如果该参数是负数,表示从末尾开始算起的索引。

例如:

let fruits = ["Banana", "Orange", "Apple", "Mango"];
let citrus = fruits.slice(1, 3); // 从索引1开始(包括),到索引3结束(不包括)的子数组
console.log(citrus); // ["Orange", "Apple"]

总结splice() 方法会改变原始数组,主要用于添加或删除元素;而 slice() 方法不会改变原始数组,主要用于提取数组的一部分。

posted @   王铁柱6  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示