例如,这个例子:
复制代码如下:var arr = {

无功arrto = ARR;
arrto { 1 } =测试;
document.writeln(原始值的数组:+ ARR +);的 / /出口原始值:阵列:一、试验,三
document.writeln(新值的数组:+ arrto +);的 / /出口的新的价值观:一、试验、三阵:

与上述方式一样,直接赋值的方式是浅拷贝。很多时候,这不是我们想要得到的结果。实际上,我们想要的ARR值相同,不是吗

方法1:JS的切片功能
复制代码代码如下所示:
对于数组对象的切片函数,
返回一个数组的一部分。
ArrayObj.slice(开始,{结束})
参数
arrayobj
有一个选项,一个数组对象。
起点
有一个选项,在arrayobj指定的部分元素开始计算从零的下标。
终点
可选。在arrayobj指定的部分的端元是从零计算下标。
解释
切片方法返回一个数组对象包含指定部分的arrayobj。
切片的方法已被复制到指定的元素,但不包括元素。如果开始是消极的,它被视为长度+开始,长度是数组的长度,如果是消极的,它被视为长度+端,其中长度数组的长度。如果省略,然后切片法将复制到的arrayobj结束。如果最终出现之前开始,没有元素复制到新数组。

实例uff1a
复制代码代码如下所示:
var arr = {

无功arrtoo = arr.slice(0);
arrtoo { 1 } =集图;
document.writeln(原始值的数组:+ ARR +);的 / /出口原始值:阵列:一,两,三
document.writeln(新值的数组:+ arrtoo +);的 / /出口的新的价值观:一、设置地图,数组:三


方法二:JS Concat方法
复制代码代码如下所示:
Concat()方法是用来连接两个或多个数组。
此方法不会更改现有数组,但只返回连接数组的副本。
语法
ArrayObject.concat(arrayx,arrayx,…,arrayx)
解释
返回一个新数组,数组是通过添加所有的arrayx参数的数组对象生成。如果Concat()操作的参数是一个数组,然后在添加到数组的元素,而不是一个数组。
var arr = {
实例uff1a
复制代码代码如下所示:
无功arrtooo = arr.concat();
arrtooo { 1 } =集图;
document.writeln(原始值的数组:+ ARR +);的 / /出口原始值:阵列:一,两,三
document.writeln(新值的数组:+ arrtooo +);的 / /出口的新的价值观:一、设置图阵,三