数组截取slice和splice区别

在数组截取slice和splice都可以实现数组对象的截取,那么这两个有什么区别呢?当然我们先从代码实例推测一下!

var arr=[0,1,2,3,4,5,6,7,8,9];//设置一个数组
console.log(arr.slice(2,7));//2,3,4,5,6
console.log(arr.splice(2,7));//2,3,4,5,6,7,8
//由此我们简单推测数量两个函数参数的意义,
slice(start,end)第一个参数表示开始位置,第二个表示截取到的位置(不包含该位置)
splice(start,length)第一个参数开始位置,第二个参数截取长度

由此我们只简单看出了两个方法的参数的意义,那么是否对数据的原值发生改变呢?我们进一步进行验证?

//为了避免嫌疑,我们这次给定两个变量赋予相同的数组
var x=y=[0,1,2,3,4,5,6,7,8,9]
console.log(x.slice(2,5));//2,3,4
console.log(x);[0,1,2,3,4,5,6,7,8,9]原数组并未改变
//接下来用同样方式测试splice
console.log(y.splice(2,5));//2,3,4,5,6
console.log(y);//[0,1,7,8,9]显示原数组中的数值被剔除掉了

小结:slice和splice虽然都是对于数组对象进行截取,但是二者还是存在明显区别,函数参数上slice和splice第一个参数都是截取开始位置,slice第二个参数是截取的结束位置(不包含),而splice第二个参数(表示这个从开始位置截取的长度),slice不会对原数组产生变化,而splice会直接剔除原数组中的截取数据!

本博客所有文章如无特别注明均为原创。作者:十月梦想复制或转载请以超链接形式注明转自 十月梦想博客
原文地址《数组截取slice和splice区别
分享到:更多

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(6)

博主是真心的萌
等待 2周前 (2019-05-31) 回复
这小闺女好萌,楼主分享一下吧
豆小先生 2个月前 (2019-04-28) 回复
这小闺女儿,可爱的紧
腿长一米八 2个月前 (2019-04-24) 回复
这网站,厉害了,我得意的飘~~~
蜗牛 2个月前 (2019-04-22) 回复
这网站萌了老夫一脸血
啦啦啦 2个月前 (2019-04-11) 回复
单身?
怀三药 2个月前 (2019-04-04) 回复