js 数组清空(删除)方法总结
清空数组是一个常用的JavaScript的工作,但我常常看到在不正确的方式。很多时候,开发人员将创建一个新的数组,比如下面这样:
赋值为[]
代码如下 | |
myArray = []; //不好的方法 var ary = [1,2,3,4]; |
以创建一个空数组来清空它显然不是一个最好的方法,你应该设置数组的length属性为0:
代码如下 | |
myArray.length = 0; // good! |
设置length为零清空当前数组,而不是创建另一个空数组!这可以帮助您避免数组的指针问题。如果你用前面的方法:
代码如下 | |
A = [1,2,3,4,5] B = A A = [] console.log(B) // [1,2,3,4,5],原始数组依然没清空,A只是指向了新的空数组 |
设置length为0的方法就可以使A和B都清空了
代码如下 | |
var a = []; |
保留了数组其它属性,方式3 则未保留。很多人认为方式2的效率很高些,因为仅仅是给length重新赋值了,而方式3则重新建立个对象。经 测试 恰恰是方式3的效率高。