【需求场景】
希望将已有数组arrayOld完全赋值到一个新的数组上,操作新数组,原有数组不变。
【错误代码】
var arrayNew = arrayOld;
这样写arrayNew和arrayOld都会指向一样的内存空间,操作arrayNew时,arrayOld也会改变。
【改进写法】
arrayNew = arrayOld.toString().split(",");
注:因为arrayOld是字符串数组。这样写arrayNew 生成的也是字符串数组。经测试,操作arrayNew时,arrayOld不会改变,达到需求。
若需要将别的类型的数组赋值到新数组上,笔者想到可以遍历数组,逐个赋值。若有更好的方法,希望提供,感谢万分。