Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有声明值的未定义值JavaScript_Javascript_Discord.js - Fatal编程技术网

具有声明值的未定义值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;
...
}