splice 和slice 都不会影响原数组吗? 作为截取字符串,他们有什么区别呢?

来源:3-10 选择练习

weixin_慕粉8323943

2019-09-30 17:30:40

splice 和slice 都不会影响原数组吗? 作为截取字符串,他们有什么区别呢?

写回答

2回答

好帮手慕码

2019-10-06

同学你好!
1.splice该方法会改变原数组

2.区别:

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

start参数:必须,规定从何处开始选取,如果为负数,规定从数组尾部算起的位置,-1是指最后一个元素。

end参数:可选(如果该参数没有指定,那么切分的数组包含从start倒数组结束的所有元素,如果这个参数为负数,那么规定是从数组尾部开始算起的元素)。

例如:

var str = "Hello,world!";
var sliceStr = str.slice(1,5);//ello (不包含end)

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

splice(index,howmany,item1,...itemX)

index参数:必须,整数,规定添加或者删除的位置,使用负数,从数组尾部规定位置。

howmany参数:必须,要删除的数量,如果为0,则不删除项目。

tem1,...itemX参数:可选,向数组添加的新项目。

例如:

var arr = [1,2,3,4,5];
console.log(arr.splice(2,1,"hello"));//[3]  返回的新数组

如果帮到了你,欢迎采纳,祝学习愉快~

0
heixin_慕粉8323943
h splice 改变原数组,但返回的是被删除的新数组 slice 不改变变数组, 返回的也是新数组。 对吧
h019-10-07
共2条回复

好帮手慕夭夭

2019-10-07

你好同学,很聪明,理解的都正确。祝学习愉快,望采纳。

0

0 学习 · 40143 问题

查看课程