slice不改变原数组,返回截取的数组,slice(start,end), splice改变原数组splice(start,how many,element1,…)

执行以下程序,输出结果为()

var a =[1,2,3]; var b = a.slice(); b.push(4); console.log(a)

[1,2,3]

array.slice(begin,end)将返回一个由begin和end决定的原数组的浅拷贝,
其中,begin和end参数均是可选参数,如果省略begin,则默认从索引值为0开始提取,如果省略end,则默认提取到数组最后一个元素,
同时省略begin和end参数时,将提取原数组的所有元素。

array.slice()方法不会修改原数组,如果原数组元素是引用类型,则会复制引用地址到新数组,如果是基本类型,则会直接拷贝值到新数组,但不管往新数组还是原数组中添加新元素,都不会对另一数组产生影响,故数组a的值仍然为[1,2,3]

slice不改变原数组,返回截取的数组,slice(start,end),splice改变原数组splice(start,how many,element1,…)

JS的数组方法中改变原数组的方法有以下几个(不包含push、pop、shift、unshift):

sort(); // 数组排序
reverse(); // 数组反转
splice(); // 删除/插入


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/17825322.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示