我是社区的新手并且最近发布了这个问题,但我在描述中并不详细,无法得到我想要的回复。抱歉。但是,感谢大家,他们提供了他们的帮助。到目前为止我所拥有的:我可以创建一个数组,在该数组中随机绘制一个元素,并通过单击按钮将其显示在屏幕上。然后从阵列Perfect中删除该元素!但是我的代码只向屏幕显示当前正在切片的元素。我想要做的是将每个单独的元素显示到屏幕上,因为它是随机拼接的,因此我最终得到屏幕上的所有元素和一个空数组。我尝试使用循环非常失败。很抱歉我的帖子不够清晰,并提前感谢您的额外帮助。
function RandomDraw(){
var ri = Math.floor(Math.random() * myArray.length);
var rs = myArray.splice(ri, 1);
document.getElementById("showSplice").textContent = rs;
document.getElementById("showArrayList").innerHTML = myArray;
}
答案 0 :(得分:2)
使用innerHTML + =而不是使用textContent标记现有值。请参阅this code pen。
function RandomDraw(){
var ri = Math.floor(Math.random() * myArray.length);
var rs = myArray.splice(ri, 1);
document.getElementById("showSplice").innerHTML += rs;
document.getElementById("showArrayList").innerHTML = myArray;
}
答案 1 :(得分:2)
答案 2 :(得分:1)
您只需附加文字内容,而不是覆盖它。
function RandomDraw(){
var ri = Math.floor(Math.random() * myArray.length);
var rs = myArray.splice(ri, 1);
document.getElementById("showSplice").textContent += ' ' + rs;
document.getElementById("showArrayList").innerHTML = myArray;
}
答案 3 :(得分:1)
const myArray = [1, 2, 3, 4, 5];
document.getElementById("showArrayList").innerHTML = myArray.join(', ');
function RandomDraw(){
const ri = Math.floor(Math.random() * myArray.length);
const rs = myArray.splice(ri, 1);
const showSpliceElement = document.getElementById("showSplice");
const splicedElements = showSpliceElement.innerHTML;
showSpliceElement.innerHTML +=
splicedElements && rs.length
? `, ${rs}`
: rs;
document.getElementById("showArrayList").innerHTML = myArray.join(', ');
}
Splice: <span id="showSplice"></span><br>
Array: <span id="showArrayList"></span><br>
<button onclick="RandomDraw()">Go</button>