js截取数组slice() 和 splice() 的用法

本文详细介绍了JavaScript中数组方法slice()和splice()的使用。slice()方法用于从数组中提取指定元素,返回一个新的数组,而不改变原数组。它接受开始和结束索引作为参数。splice()方法则可以删除数组中的指定元素,同时可以添加新元素,直接修改原数组。splice()方法的参数包括开始位置、删除数量以及要插入的元素。

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

一句话先提前概括:

slice(start,end) 从哪到哪开始

splice(strt,end,index1,index2) 从什么位置开始,删几个?删了后插入什么新元素?

 

注意:slice() 方法可从已有的数组中返回选定的元素。

slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

数组中的slice()方法

 ---可以用来从数组中提取指定元素

 ---该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回

slice(start,end) 参数:

1.  start  截取开始的位置的索引,包含开始索引,必填

2.  end  截取结束的位置的索引,不包含结束索引,选写

  -第二个参数可以忽略不写,此时会截取从开始索引往后的所有元素

  -索引可以传递一个负值,如果传递一个负值,则从后往前计算

  -1 倒数第一个

  -2 倒数第二个

  var arr = ["a", "b", "c", "d", "e"];
  console.log(arr.slice(1,4)); // ["b", "c", "d"]
  console.log(arr.slice(2));  // ["c", "d", "e"]
  console.log(arr.slice(1,-2)); // ["b", "c"]
 console.log(arr); //  ["a", "b", "c", "d", "e"]  

arr.slice(1,-2)     -2表示截取到倒数第二个元素,但是不包含该元素


数组中的splice() 方法

-可以用于删除数组中的指定元素

-使用splice()会影响到原数组,会将指定元素从原数组中删除,并将被删除的元素作为返回值返回

-arrayObject.splice(index,howmany,item1,.....,itemX)参数:

  第一个,index   规定添加/删除项目的位置,即表示开始位置的索引,使用负数可从数组结尾处规定位置,整数,必需。

  第二个,howmany  表示要删除的项目数量。如果设置为 0,则不会删除项目,必需。

  第三个及以后。。item1,.....,itemX  可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边,可选

var arr = ["贾宝玉", "林黛玉", "薛宝钗", "王熙凤", "香菱"];   
console.log(arr.splice(1,2)); //  ["林黛玉", "薛宝钗"]
console.log(arr);  // ["贾宝玉", "王熙凤", "香菱"]

 当第二个参数(删除数量)小于0视为0

var arr = ["贾宝玉", "林黛玉", "薛宝钗", "王熙凤", "香菱"];
console.log(arr.splice(1, -2)); //  []
console.log(arr);  // ["贾宝玉", "林黛玉", "薛宝钗", "王熙凤", "香菱"]

 删除并添加

var arr = ["贾宝玉", "林黛玉", "薛宝钗", "王熙凤", "香菱"];
console.log(arr.splice(1, 2, '晴雯', '紫鹃')); // ["林黛玉", "薛宝钗"]
console.log(arr);  // ["贾宝玉", "晴雯", "紫鹃", "王熙凤", "香菱"]

 

var arr = ["贾宝玉", "林黛玉", "薛宝钗", "王熙凤", "香菱"];
console.log(arr.splice(1, 0, "袭人")); // []
console.log(arr);  // ["贾宝玉", "袭人", "林黛玉", "薛宝钗", "王熙凤", "香菱"]

 

 

在JavaScript中,可以使用splice()方法对数组进行截取操作。splice()方法既可以删除数组中的元素,也可以插入新的元素。具体使用方式如下: 1. 删除元素: - 语法:`array.splice(start, deleteCount)` - 参数: - start:指定要删除的元素的起始位置索引。 - deleteCount:指定要删除的元素个数。 - 返回值:被删除的元素构成的数组。 - 示例:`const arr = [1,2,3,4,5]; const arr2 = arr.splice(1,3); // 删除从第一位开始的三个元素,返回,原数组变为` 2. 插入新元素: - 语法:`array.splice(start, deleteCount, item1, item2, ...)` - 参数: - start:指定要插入元素的起始位置索引。 - deleteCount:指定要删除的元素个数。 - item1, item2, ...:要插入的新元素。 - 返回值:被删除的元素构成的数组。 - 示例:`const arr = [1,2,3,4,5]; const arr2 = arr.splice(1,3,8,9,5); // 删除从第一位开始的三个元素,并插入8,9,5,返回,原数组变为` 需要注意的是,使用splice()方法会直接修改原数组。如果只是想截取数组的一部分而不修改原数组,可以使用slice()方法。slice()方法的使用方式返回结果在之前的引用中已经给出了详细示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [js数组截取方式splice()slice()方法](https://blog.csdn.net/curryFMVP/article/details/113627742)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [js数组截取](https://blog.csdn.net/qq965359889/article/details/126267543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [slicesplice数组截取/splice可以插入、删除、替换/数组截取 slice的详细解释](https://blog.csdn.net/m0_56986233/article/details/123328803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值