slice()和splice()区别

slice()和splice()区别

slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含end元素)的数组元素。(该方法不会改变原数组)

注意:该方法不会改变原数组,而是返回一个子数组,若想删除数组中的一段元素,应该使用Array.splice()方法。

  • start参数:必须,规定从何处开始选取,如果为负数,规定从数组尾部算起的位置,-1是指最后一个元素。
  • end参数:可选(如果该参数没有指定,那么切分的数组包含从start到数组结束的所有元素,如果这个参数为负数,那么规定是从数组尾部开始算起的元素)。
var arr = [1,2,3,4,5];
console.log(arr.slice(1));//[2,3,4,5]  选择序列号从1到最后的所有元素组成的新数组。
console.log(arr.slice(1,3))//[2,3]  不包含end,序列号为3的元素

同时slice(start,end)可以作用于字符串的切割

/*字符串切割和提取----slice(start,end),substring(),substr()*/
var str = "Hello,world!";
var sliceStr = str.slice(1,5);//ello (不包含end)
var subStr = str.substring(1,5);//ello	(不包含end)
var subStr = str.substr(1,5);//ello, (包含end)
var str = "1000000";
var sliceStr = str.slice(-3);//000  从序列号为-3的位置到最后(包含-3的位置)

简单一点,Array.slice()方法 :

1、提取部分数组元素

const fruitArray = ["apple", "banana", "orange", "grape", "mango"];
const fruits= fruitArray.slice(1, 3);
console.log(fruits); // Output: ["banana", "orange"]

在上面的例子中,slice() 方法从索引 1(包含)开始提取元素,直到索引 3(不包含)。因此,它提取了数组 fruits 中索引 1 和 2 的元素,返回一个包含这些元素的新数组。

2、复制一个数组

const array = [1, 2, 3, 4, 5];
const newArray= array.slice();
console.log(newArray); // Output: [1, 2, 3, 4, 5]

在这个例子中,slice() 方法不带参数,它将返回原数组的一个副本,这样可以实现数组的浅拷贝。
注意: Array.slice() 方法不会修改原始数组,而是返回一个新的数组。
起始索引是包含在结果中的,而结束索引则是不包含在结果中的。
另外,如果参数是负数,则它们表示从数组末尾开始计算的位置。例如,-3 表示倒数第 3 个元素。

splice():该方法向或者从数组中添加或者删除项目,返回被删除的项目。(该方法会改变原数组)

splice(下标从哪开始index,删几个howmany,替换内容/添加内容tem1,…itemX)

  • index参数:必须,整数,规定添加或者删除的位置,使用负数,从数组尾部规定位置。
  • howmany参数:必须,要删除的数量,如果为0,则不删除项目。
  • tem1,…itemX参数:可选,向数组添加的新项目。
var arr = [1,2,3,4,5];
console.log(arr.splice(2,1,"hello"));//[3]  返回的新数组
console.log(arr);//[1, 2, "hello", 4, 5]  改变了原数组

本文参考链接:https://blog.csdn.net/xiaoqingpang/article/details/79108005

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值