Javascript 阵列中的拼接对象-未定义错误

Javascript 阵列中的拼接对象-未定义错误,javascript,arrays,undefined,splice,Javascript,Arrays,Undefined,Splice,下面的代码中包含一个非常简单的问题游戏(正在进行中)。到目前为止,我已经能够通过onLoad函数“qDisplayLoad()”显示一条“Rules”消息。接下来,onClick函数“qDisplayClick”会在任何人单击时运行,从而从数组(qArray)中随机抽取 我的问题: 在显示问题后,如何删除(拼接)从阵列中选择的问题?我的目标是不让同一个问题重复两次。在下面的代码中,您会发现我的业余尝试是“拼接”(这有点有效),但是数组却推出了“未定义” var qLoad=0; var qAr

下面的代码中包含一个非常简单的问题游戏(正在进行中)。到目前为止,我已经能够通过onLoad函数“qDisplayLoad()”显示一条“Rules”消息。接下来,onClick函数“qDisplayClick”会在任何人单击时运行,从而从数组(qArray)中随机抽取

我的问题: 在显示问题后,如何删除(拼接)从阵列中选择的问题?我的目标是不让同一个问题重复两次。在下面的代码中,您会发现我的业余尝试是“拼接”(这有点有效),但是数组却推出了“未定义”

var qLoad=0;
var qArray=[
“问题1”,
“问题2”,
“问题3”,
“问题4”,
“问题5”
];
var随机化元素;
/*页面加载时会显示文本“规则”*/
函数qDisplayLoad(){
如果(qLoad==0){
随机元素=“规则”;
qLoad=1;/*将qLoad从“0”更改为“1”,因此数组从“qDisplayClick”函数中开始*/
}
document.getElementById(“问题”).innerHTML=randomElement;
}
/*每次单击鼠标时,都会从数组中提取一个新问题(最多5个)*/
函数qDisplayClick(){
var randomNumber=Math.floor(Math.random()*qArray.length);/*问题是随机选择的,并从数组中向下取整*/
if(qLoad+=1&!(qLoad==7)){
拼接(qArray,1);
randomElement=qArray[randomNumber];
}else if(qLoad==0){
随机元素=“规则”;
}
如果在第五个问题之后(qLoad==7){/*将出现弹出窗口文本*/
randomElement=“WIP-弹出式占位符”;
}
document.getElementById(“问题”).innerHTML=randomElement;

}
错误来自此行
qArray.splice(qArray,1)
拼接方法不能将数组作为第一个参数:

array.splice(index, howmany, item1, ....., itemX)
  • 需要索引
  • 有多少个可选
  • item1,…,itemX可选。要添加到数组中的新项

    • 非常感谢你,梅尔基亚

      是的,你说得对!我可以通过更新以下内容来解决此问题:

      randomElement=qArray[randomNumber];
      
      质量拼接(随机数,1)我发现这个有用的教程,但是对于我的代码,如果stills说“未定义”。为什么你说的数组推出未定义?