通过之前的介绍,我们知道slice是一个切片方法,它既可以在原来的数组基础上做了一次浅拷贝,也可以拷贝数组的所有目录,整个复制一份,返回一个数组的一段(仍为数组),进行深拷贝。本文介绍js中slice是深拷贝和浅拷贝。
一、slice浅拷贝
就是只拷贝第一级目录,拷贝一个数组(或者一部分),不拷贝更深层次的目录。
1、使用语法
Array.slice([start[,end])
2、使用说明
通过start 和 end对原数组进行浅拷贝(提取 start 至 end 索引的数组元素)
3、返回值
返回一个浅复制,start闭end开。
4、使用实例
vararr=['A','B','C','D']; varres=arr.slice() console.log('arr',arr); //['A','B','C','D'] console.log('res',res); //['A','B','C','D']
二、slice深拷贝
就是对于array对象的slice函数,拷贝数组的所有目录,整个复制一份,返回一个数组的一段(仍为数组),切断了二级及以上目录的引用关系。
1、使用语法
arrayObj.slice(start,[end])
2、参数
start 必选项。arrayObj 中所指定的部分的开始元素是从零开始计算的下标。
end可选项。arrayObj 中所指定的部分的结束元素是从零开始计算的下标。
3、返回值
返回一个 Array 对象,其中包含了 arrayObj 的指定部分。
4、使用实例
letarr1=[1,2,3], arr2=arr1.slice(); arr2.pop(); console.log(arr1); console.log(arr2);原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容