Javascript 数组推送不能完成他的任务

Javascript 数组推送不能完成他的任务,javascript,arrays,random,Javascript,Arrays,Random,为什么container.push(随机[0])不起作用 我找不到解决这个问题的办法。。。我需要将HTML对象放入容器数组中,但它没有放到那里 let container=new Array(); 设x=document.querySelectorAll('.trigger'); 函数getFlag(){ 设random=[x[Math.floor(Math.random()*x.length)]; 如果(!container.includes(随机[0])){ 随机[0]。类列表。删除('t

为什么
container.push(随机[0])
不起作用

我找不到解决这个问题的办法。。。我需要将HTML对象放入容器数组中,但它没有放到那里

let container=new Array();
设x=document.querySelectorAll('.trigger');
函数getFlag(){
设random=[x[Math.floor(Math.random()*x.length)];
如果(!container.includes(随机[0])){
随机[0]。类列表。删除('trigger');
console.log('random n:'+random[0]);
container.push(随机[0]);
}
}
console.log('x长度:'+x.length)
console.log('array length:'+container.length)
.trigger{
显示:无;
}

一,

二,

三,

尝试以下方法:

let container=[];
设x=document.querySelectorAll('.trigger');
函数getFlag(){
控制台日志(“推送”);
/*单击按钮时,如果未记录“按下”,则出现错误*/
设random=[x[Math.floor(Math.random()*x.length)];
如果(!container.includes(随机[0])){
随机[0]。类列表。删除('trigger');
console.log('random n:'+random[0]);
container.push(随机[0]);
console.log('x长度:'+x.length)
console.log('array length:'+container.length)
}

}
为什么你认为推送不起作用?数组末尾有一个
元素。不要将所有内容连接到一个字符串;使用
console.log(“random n:,random[0])
测试您的值。使用
console.log(container.slice())
查看阵列的当前状态;我没有看到你在任何地方确认你的预期结果。
random
作为一个数组,总是得到
random[0]
而不是
random
,这有什么意义呢?如果你指的是
console.log('array length:'+container.length)
显示
0
而不是
1
,原因是
console.log()
是在
getFlag()
实际可以将元素推入
容器之前执行的。如果将该行移到
getFlag()
函数体中,您将看到它正确地显示
1
。我想使用
random
,但如果我将
random.classList.remove('trigger')
设置为数组,则会返回一个错误;如果替换
let random=[x[Math.floor(Math.random()*x.length)]使用
let random=x[Math.floor(Math.random()*x.length)]
(没有最外面的方括号)您可以使用
random
而不是
random[0]
来引用元素。噢,哇,我不知道这是可能的,谢谢!现在我已经修复了我的代码。谢谢大家!!