如何从数组中删除元素?

30

可能是重复问题:
如何在JavaScript中清空数组

如何从jQuery数组中删除所有项?

我有一个数组 var myArray = [];,我想在每次回传时清除此数组中的所有项。


8
这不是一个 jQuery 数组。 - Rudi Visser
暗示的扇耳光。JavaScript 不是 jQuery.... - hvgotcodes
看起来这个数组已经被清空了 :) - Mukus
4个回答

37

最简单的方法就是

myArray = [];

再次编辑 — 如评论中所指出并在其他问题的回答中提到的,另一个“最简单的事情”是

myArray.length = 0;

这样做的好处是保留了相同的数组对象。


23
jQuery不足。 - jAndy
7
他可以把它称为“$myArray”。 - Pointy
@jAndy我认为并不是所有的事情都需要使用jQuery..... - starbeamrainbowlabs
3
这只是一个玩笑,很可能是参考了这个链接:http://www.doxdesk.com/img/updates/20091116-so-large.gif。 - James Allardice
4
这并不会清空一个数组,它只是将一个新的空数组赋值给该变量。.length方法可以很好地解决问题,而在这种情况下,这种方法无法解决:var obj = {arr: []}; var a = obj.arr; a.push('elem'); a.length = 0; console.log(obj);var obj = {arr: []}; var a = obj.arr; a.push('elem'); a = []; console.log(obj);进行比较。 - Marius Balčytis

10

你可以使用数组长度来移除myArray中的所有项,这是一种常见的模式。

试试这个

var myArray = [1, 2, 3];    
myArray.length = 0; // remove all item

2
清空数组值,你可以简单地执行以下操作:
myarray = [];

P.s.(附言)
jQuery != javascript

1

并不存在 jQuery 数组,那只是一个 JavaScript 数组。当页面回传时,它会重新渲染并重新运行所有的 JavaScript,您不需要清除数组的内容。

如果在页面执行期间,您想要清除 JavaScript 数组,只需将其重新初始化为新的空数组:

myArray = []; // no var, we are just initializing not declaring

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接