Javascript未设置数组

Posted

技术标签:

【中文标题】Javascript未设置数组【英文标题】:Javascript unset array 【发布时间】:2011-01-30 00:15:17 【问题描述】:

如何在 javascript 中取消设置数组? 我只是想清空它 - 所以它里面没有钥匙或任何东西

【问题讨论】:

【参考方案1】:

您可以为其分配一个新数组:

var array = ["element1","element2","element3"]; ... array = new Array();

array = [];

【讨论】:

这段代码会将变量“array”设置为一个新的空数组。如果您在其他任何地方都没有对原始数组“数组”的引用,这是完美的,因为这实际上创建了一个全新的(空)数组。您应该小心使用此方法,因为如果您从另一个变量或属性引用了此数组,则原始数组将保持不变。你可以使用 array.length = 0 代替。【参考方案2】:

为它分配一个空数组

   x = []

【讨论】:

【参考方案3】:
array.length = 0

应该可以。

【讨论】:

【参考方案4】:

删除呢?

delete array

或者删除单个索引:

delete array[x]

【讨论】:

@Tadeck 当然 delete 不起作用,delete 是针对没有DontDelete 属性的对象属性,而不是具有DontDelete 属性的varfunction 声明。如果您将数组设为implicit 窗口属性或explicit 属性,它将在大多数 浏览器中工作(delete 取决于实现)。 More info about delete。 (当然,这不是声明数组的理想方式)【参考方案5】:
var array = ["elem", "item"];
...
array = []; // Empty!

【讨论】:

【参考方案6】:

供参考(我知道它的旧答案)


如果你想清空数组,那已经是answered了。 如果你想unset数组,你可以分配一个未设置的变量...

var undef;
var myArr = [];
...
myArr = undef;
// typeof myArr == undefined

【讨论】:

以上是关于Javascript未设置数组的主要内容,如果未能解决你的问题,请参考以下文章

Javascript元素数组innerHTML返回未定义

Javascript Nodejs值未推入数组[重复]

JavaScript:使用 reduce() 和 map() 简化数组导致未定义

Javascript 中的数组错误:未捕获的 TypeError:无法读取未定义的属性“x”

JavaScript数组未显示终端中的所有输出值[重复]

javascript说array.length是未定义的,但不是数组