为什么在打印索引3时控制台显示“未定义”?我试图将索引3设置为false,并在7秒后将其设置为true。
我尝试更改索引为“ nr”的2,成功尝试缩小问题的范围。
if (Math.random() < 0.005) {
nx = Math.random()*1000; //index0
ny = 200; //index1
nr = 5;//index2
var nfall = false; //index3
Apples.push([nx,ny,nr,nfall]); //simply inserting 'false' into index 3 doesn't work either.
setTimeout(function(){ Apples[2][2] = 500; Apples[2][3] = true;}, 7000); //3rd apple
console.log("New circle, x:"+Apples[2][0]+" y:"+Apples[2][1]+" nr:"+Apples[2][2] +" nfall:"+Apples[2[3]]);
//What works - in 7 seconds "nr" is updated from 5 to 500, but nfall is still undefined and NOT = true
最初,我期望索引3“ nfall”的输出为false,然后期望7秒钟后索引3“ nfall”的输出为true。
谢谢
最佳答案
在您的console.log
调用中,您将像这样访问数组:
Apples[2[3]]
但这应该是
Apples[2][3]
在第一个版本中,您正在访问数字2的索引3,实际上这不是错误,只是
undefined
。关于javascript - 如何将 bool 值插入数组? “未定义”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55719312/