JavaScript中的数组拷贝

 

拷贝分为浅拷贝和深拷贝,在JavaScript中能够实现这两种拷贝的方式也是多种多样。以下是一维数组实现深拷贝和浅拷贝的各种方式。

一、浅拷贝

1、赋值

赋值是最直接的一种浅拷贝。

    let arr3 = [1,2,3]
    let arr4 = arr3
    arr4[0] = 11
    console.log('arr3:',arr3); // [11,2,3]

 2、copyWithin()方法——ES6新增

    let arr3 = [1, 2, 3]
    let arr4 = arr3.copyWithin(0,0)
    arr4[0] = 11
    console.log('修改arr4:', arr4); // 11,2,3
    console.log('arr3:', arr3); // 11,2,3

二、深拷贝(针对一维纯值数组)

1、concat() 方法

concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。其参数可以是具体的值,也可以是数组对象。可以是任意多个。

arrayObject.concat(arrayX,arrayX,......,arrayX)
参数 描述
arrayX 必需。该参数可以是具体的

你可能感兴趣的:(JavaScript,数组,拷贝,克隆)