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
属性的var
或function
声明。如果您将数组设为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:使用 reduce() 和 map() 简化数组导致未定义