js中几种深度拷贝的方法

    xiaoxiao2022-06-24  238

    var ary1=[1,2];

    es5:

    方法一:

    var ary2 = ary1.concat();//纯属组类型

    方法二:

    var ary2 = JSON.parse(JSON.stringify(ary1));

      //此方法适用于Oject的深度拷贝,因为Array属于Oject类型,所以也适用于此处;

      //需要注意的是:作为Oject的深度拷贝时,要复制的function会直接消失,所以这个方法只能用在单纯只有数据的对象。

    es6:

    // 方法三

    var ary2 = [...ary1];//ES6中的方法

    // 方法四

    var [...ary2] = ary1;//ES6中的方法

    方法五

    var arr2=arr1.splice(0,arr1.length)//利用splice放回新数组的方式进行拷贝


    最新回复(0)