欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Javascript的一些坑之清空数组

程序员文章站 2022-07-15 15:49:37
...


英文原文: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同时置为初始数组但是数据清空了。



转载于:https://my.oschina.net/lxrm/blog/153177