具有声明值的未定义值JavaScript
下面是有问题的代码具有声明值的未定义值JavaScript,javascript,discord.js,Javascript,Discord.js,下面是有问题的代码 var board = [ { grdNbr: 1, value: 0, }, { grdNbr: 2, value: 0, }, { grdNbr: 3, value: 0, }, { grdNbr: 4, value: 0, }, { grdNbr: 5, value: 0, }, { grdNbr: 6, value: 0, }, { grdNbr: 7, v
var board = [
{
grdNbr: 1,
value: 0,
},
{
grdNbr: 2,
value: 0,
},
{
grdNbr: 3,
value: 0,
},
{
grdNbr: 4,
value: 0,
},
{
grdNbr: 5,
value: 0,
},
{
grdNbr: 6,
value: 0,
},
{
grdNbr: 7,
value: 0,
},
{
grdNbr: 8,
value: 0,
},
{
grdNbr: 9,
value: 0,
},
]
我试着将对象声明为数组,但我不知道它是如何工作的,所以请给我解释一下。那么,回到话题上来。当我检查该值时,它显示未定义(代码如下)
之后,在控制台日志中,value
的值为1,但在此之前,该值为undefined
。你知道如何解决这个问题吗?你的问题是你的板变量是一个对象数组,你试图直接访问数组的一个参数,而不指定你想访问数组的哪个对象
不要尝试使用board.value
访问值,而应该使用board[index].value
,index是该列表中对象的索引(例如:board[0].value
)在开始之前,我要感谢您花了一些时间帮助我。我用不同的代码找到了解决我问题的方法,所以很抱歉浪费了你的时间。
祝你今天愉快
- 阿比兹尔斯
Board是一个JSONArray,您需要像Board[0]那样指定位置。grdNbrI回答了为什么会得到一个未定义的值,但是如果您编辑代码并将您试图实现的内容上下文化,我将更新我的帖子以帮助您实现它
switch(board.grdNbr){
case 1:
board.value = 1
console.log(board.value)
bg.bg1 = x
msg.channel.send(boardDRW)
turn++
break;
...
}