Javascript的一些坑之清空数组


英文原文:http://davidwalsh.name/empty-array 下面是我的翻译,肯定有不准的地方,还请多对照原文。



 在Javascript里面清空数组是一个常用的操作,但是我所见清空的方法常常都不正确,往往很多开发者在多数时候非但不是清空,反而创建了一个新的数组:


myArray = [];//bad
  这绝对不是一种清空数组的高效办法;如果要截断且同时清空一个数组,你需要将它的长度属性设为零:



myArray.length = 0;// good!
  将数组长度设为0会清空已存在的数组,而不会创建另一个数组!这将帮助你避免数组引用的问题。上述会新创建数组的情况是这样的:



// ... as provided by Dag in the comments
A = [1,2,3,4,5]
B = A
A = []
console.log(B) // [1,2,3,4,5]

  但是,length 截断会同时将A和B同时置为初始数组但是数据清空了。



你可能感兴趣的:(Javascript的一些坑之清空数组)