Javascript 我无法清除数组
我在这里找到了一个关于在JS中清空数组的主题,但我不允许在那里发布。我得问一下。 这是我的密码:Javascript 我无法清除数组,javascript,arrays,Javascript,Arrays,我在这里找到了一个关于在JS中清空数组的主题,但我不允许在那里发布。我得问一下。 这是我的密码: sumarray.length=0; sumarray = []; for (var i=0; i<3; i++) sumarray.push(i); console.log('***1***:',sumarray.length, sumarray); var t; while (console.log('***2***: t:',t=sumarray.pop()
sumarray.length=0;
sumarray = [];
for (var i=0; i<3; i++)
sumarray.push(i);
console.log('***1***:',sumarray.length, sumarray);
var t;
while (console.log('***2***: t:',t=sumarray.pop()) || t!==undefined) {
console.log('***3***:',sumarray.length,sumarray);
}
console.log('*****4***: ',sumarray.length, sumarray);
sumarray.length=0;
sumarray=[];
对于(var i=0;i只需使用delete关键字
例如:
var summary = ["x","y","z"];
然后
for(变量i=0;i
--更新
delete将返回占用长度为未定义的数组,但将保留索引
您仍然可以使用pop完全删除索引:
for(var i=0; i < summary.length; i++){
summary.pop(i);
}
for(变量i=0;i
trash是什么意思?sumarray.length=0;sumarray=[]
如果sumarray
存在并且事先是一个数组,则第一条指令是多余的。如果它存在但不是数组,则它是无用的。如果它不存在,则它是无效的。在任何情况下,它都不起作用。同时,考虑到您给我们的代码,您的输出是不可能的(数组包含一些游戏对象,而不是[1,2,3]
),因此,如果生成sumarray
的代码有误,我不能肯定它在其他地方也没有错。粘贴的代码会导致一个空的sumarray
,除非您重新定义了pop
或类似的东西。这里发生了什么事?(console.log('***2***:t:',t=sumarray.pop())…
?@Andy:它不可读但有效:console.log
返回未定义的,所以(console.log(value1)| value2)
显示value1
然后计算为value2
@Amadan是的,这确实是OP的问题,但谢谢:)谢谢你的想法-第一种方法没有帮助-我看到了相同的日志。第二种我已经使用过了。重新启动公司后也是一样的(
for(var i=0; i < summary.length; i++){
summary.pop(i);
}