GDP Asked: 2020-09-21 07:43:59 +0800 CST 2020-09-21 07:43:59 +0800 CST 2020-09-21 07:43:59 +0800 CST 如何在Javascript中清空数组? 772 有没有办法清空数组或只是删除它? 例如: A = [1,2,3,4]; 怎么会被清空? PS:这个问题在英文版中已经存在,但我认为再次提出并针对讲西班牙语的用户进行调整会很有趣。 javascript 4 Answers Voted Best Answer Einer 2020-09-21T07:51:49+08:002020-09-21T07:51:49+08:00 如果将新实例分配给数组,则可以将其清除: var numeros = [1,2,3,4,5]; console.log(numeros); numeros = []; // nueva instancia console.log(numeros); 同样使用splice()从原始数组中移除并返回指定范围内的元素的方法。所以你会有另一个数组实例: var numeros = [1,2,3,4,5]; console.log(numeros); var elementosRemovidos = numeros.splice(0, numeros.length); console.log(elementosRemovidos); console.log(numeros); pop()还使用了移除数组最后一个元素的JavaScript 方法。因此,要完全清理它,您必须为数组pop()的每个元素执行该方法: var numeros = [1,2,3,4,5]; console.log(numeros); numeros.pop(); // elimina el elemento 5 console.log(numeros); while(numeros.length > 0) numeros.pop(); console.log(numeros); 最后将 0 分配给 property length。根据文档: 您可以随时设置长度属性以截断数组。通过改变数组的长度属性来扩展数组 并不会增加实际元素的数量;例如,如果您在当前为 2 时将长度设置为 3,则数组仍然只包含 2 个元素。因此,length属性不一定表示数组中定义的值的个数。 所以这是完全有效的并清除数组: var numeros = [1,2,3,4,5]; numeros.length = 0; console.log(numeros); JackNavaRow 2020-09-21T08:18:08+08:002020-09-21T08:18:08+08:00 有 4 种方法可以清理数组。 方法一 A = []; 这是 Optimal 方法,但您必须小心,因为您丢失了原始数组的引用,如果变量是类型const,您可能会出错。 方法二 A.length = 0 这将通过将其长度设置为 来删除现有数组0。有些人认为这可能不适用于所有 JavaScript 实现,但事实证明并非如此。它在使用“严格模式”时也有效,ECMAScript 5 因为数组的长度属性是一个read/write允许您覆盖该值的属性。 方法三 A.splice(0,A.length) 此函数将返回一个删除了所有元素的数组,并且还将返回原始数组的副本。 方法四 while(A.length) { A.pop(); } 这不是很常见,正如您将看到的那样,您的性能也会很低。 哪一个的性能最好? 在所有方法中,刷新数组最清晰的方法是方法 2 和方法 3,它们的性能非常相似,并且比方法 4 更快。请参阅此Benchmark 感谢stackoverflow社区的英文 Galbi 2020-09-21T07:44:53+08:002020-09-21T07:44:53+08:00 好吧,删除它的简单方法是: A = []; otacon070 2020-09-21T08:11:52+08:002020-09-21T08:11:52+08:00 删除数组内容或更确切地说清空数组内容的正确且简单的方法是: array.length=0;
如果将新实例分配给数组,则可以将其清除:
同样使用
splice()
从原始数组中移除并返回指定范围内的元素的方法。所以你会有另一个数组实例:pop()
还使用了移除数组最后一个元素的JavaScript 方法。因此,要完全清理它,您必须为数组pop()
的每个元素执行该方法:最后将 0 分配给 property
length
。根据文档:所以这是完全有效的并清除数组:
有 4 种方法可以清理数组。
方法一
这是 Optimal 方法,但您必须小心,因为您丢失了原始数组的引用,如果变量是类型
const
,您可能会出错。方法二
这将通过将其长度设置为 来删除现有数组
0
。有些人认为这可能不适用于所有 JavaScript 实现,但事实证明并非如此。它在使用“严格模式”时也有效,ECMAScript 5
因为数组的长度属性是一个read/write
允许您覆盖该值的属性。方法三
此函数将返回一个删除了所有元素的数组,并且还将返回原始数组的副本。
方法四
这不是很常见,正如您将看到的那样,您的性能也会很低。
哪一个的性能最好? 在所有方法中,刷新数组最清晰的方法是方法 2 和方法 3,它们的性能非常相似,并且比方法 4 更快。请参阅此Benchmark
好吧,删除它的简单方法是:
删除数组内容或更确切地说清空数组内容的正确且简单的方法是: