javascript - 只记录到第一个数组
问题描述
所以我正在做一个测验 HTML 事情是
我为每个错误的元素设置了它以将互文更改为错误
但它只改变了第一个元素,我应该将它设置为 foreach,这是为什么呢?
const op1 = document.getElementById("op1")
const op2 = document.getElementById("op2")
const op3 = document.getElementById("op3")
const op4 = document.getElementById("op4")
let origArray = [op1,op2,op3,op4];
var math = origArray[Math.floor(Math.random()* origArray.length)]
math.innerText = "Right"
function wrong(){
var cloneArray = origArray.slice();
var i = math;
const something = cloneArray.splice(i,1);
something.forEach(elem => {
elem.innerText = "Wrong"
console.log(elem.id)
});
}
wrong()
解决方案
你应该做
const op1 = document.getElementById("op1")
const op2 = document.getElementById("op2")
const op3 = document.getElementById("op3")
const op4 = document.getElementById("op4")
let origArray = [op1,op2,op3,op4];
var rightIndex = Math.floor(Math.random()* origArray.length);
var math = origArray[rightIndex];
math.innerText = "Right"
function wrong(){
var cloneArray = origArray.slice();
var i = rightIndex;
cloneArray.splice(i,1);
cloneArray.forEach(elem => {
elem.innerText = "Wrong"
console.log(elem.id)
});
}
wrong()
推荐阅读
- java - netbeans中的javafx测试运行失败
- java - 容器级别的 Azure 存储指标
- java - Flink 读取 S3 文件导致 Jackson 依赖问题
- r - 在一个方向上创建误差线,一种特殊情况
- reactjs - this.props 反应训练问题 - CodeAcademy
- java - Java String 对象相等和引用
- javascript - 我们可以从 javascript 文件发送 ajax 吗?
- spring-boot - spring-ws - Oracle Weblogic 12c
- java - 如何使用 JAXB 设置抽象类的集合以在 Jackson 中进行反序列化?
- listview - 扑。如何将行的第一个孩子扩展到列表视图高度作为第二个孩子?