数码资讯
Javascript数组的两种深度复制和浅拷贝方法
例如,这个例子: 复制代码如下:var arr = { 无功arrto = ARR; arrto { 1 } =测试; document.writeln(原始值的数组:+ ARR +);的 / /出口原始值:阵列:一、试验,三 document.writeln(新值的数组:+ arrto +);的
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
例如,这个例子:
复制代码如下: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 +);的 / /出口的新的价值观:一、设置图阵,三
复制代码如下: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 +);的 / /出口的新的价值观:一、设置图阵,三
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。