繁体   English   中英

如何在不声明其他变量更改的情况下更改javascript数组中的变量?

[英]How can I change a variable in a javascript array without the other variables changes being declared?

我有一个随机测验,为了检查答案,我使用了一个变量。 但是,它只是跳到最后并将变量声明为“ 11”。

aVocab[intCat]= new Array();
aVocab[intCat][0]="FIRST"
aVocab[intCat][1] = new Array()
aVocab[intCat][1][intIncr++]="a"; var celebrity = 1
aVocab[intCat][1][intIncr++]="b"; var celebrity = 2
aVocab[intCat][1][intIncr++]="c"; var celebrity = 3
aVocab[intCat][1][intIncr++]="d"; var celebrity = 4
aVocab[intCat][1][intIncr++]="e"; var celebrity = 5
aVocab[intCat][1][intIncr++]="f"; var celebrity = 6
aVocab[intCat][1][intIncr++]="g"; var celebrity = 7
aVocab[intCat][1][intIncr++]="h"; var celebrity = 8
aVocab[intCat][1][intIncr++]="i"; var celebrity = 9
aVocab[intCat][1][intIncr++]="j"; var celebrity = 10
aVocab[intCat][1][intIncr++]="k"; var celebrity = 11

检查它的警报代码为:

function display_alert()
  {
if (celebrity===1)
  {
  alert("1")
  }
else if (celebrity===2)
  {
  alert("2")
  }
else if (celebrity===3)
  {
  alert("3")
  }
else if (celebrity===4)
  {
  alert("4")
  }
else if (celebrity===5)
  {
  alert("5")
  }
else if (celebrity===6)
  {
  alert("6")
  }
else if (celebrity===7)
  {
  alert("7")
  }
else if (celebrity===8)
  {
  alert("8")
  }
else if (celebrity===9)
  {
  alert("9")
  }
else if (celebrity===10)
  {
  alert("10")
  }
else if (celebrity===11)
  {
  alert("11")
  }
else
  {
  alert("This is for debugging")
  }
  }

我认为发生这种情况是因为声明了多个变量,但我不知道如何对其进行转义。 为了消除混乱,我正在为一个学校项目进行名人测验,并想用自己的价值来定义每个数组。

没有答案,只有评论。 在您的代码中,您具有:

aVocab[intCat]= new Array();
aVocab[intCat][0]="FIRST"
aVocab[intCat][1] = new Array()
aVocab[intCat][1][intIncr++]="a"; var celebrity = 1
aVocab[intCat][1][intIncr++]="b"; var celebrity = 2
...
aVocab[intCat][1][intIncr++]="k"; var celebrity = 11

它多次宣布名人 ,并每次都分配一个新值。 多重声明不是有害的,只是多余的。 在代码结尾, 名人将获得最后分配的值11

我认为发生这种情况是因为声明了多个变量,但我不知道如何转义它们

不是多个声明,而是多个分配。

您没有解释aVocab是什么,或intCat ,也没有说明intIncr是如何初始化的。 无论如何,也许bfavaretto的评论是关于金钱的,而您想要某种对象数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM