我正在为用户填写答案编码测验,如果它与数组中的正确答案之一匹配,则该字段将变为绿色,否则变为红色。这是什么在起作用:如何将输入值与数组的整个范围匹配?
var arr = ["a", "b", "c"];
var id = document.getElementById("id");
if (id.value == arr[0]
|| id.value == arr[1]
|| id.value == arr[2]
|| id.value == arr[3]){id.style.backgroundColor = "#83C183";}
else {id.style.backgroundColor = "#E06969";}
但我想摆脱的:
if (id.value == arr[0] || id.value == arr[1] || id.value == arr[2] || id.value == arr[3])
我试着用for
循环遍历数组:
var arr = ["a", "b", "c"];
var id = document.getElementById("id");
for (var i = 0; i < arr.length; i++){
if (id.value == arr[i]){id.style.backgroundColor = "#83C183";}
else {id.style.backgroundColor = "#E06969";}
}
但它只返回"c"
这是真的。在这种情况下,如何选择阵列中的所有项目?
增加了一个工作片段,以更清晰的代码[这里](http://stackoverflow.com/a/39158841/1409180) – nikjohn
'bkgColor = arr.includes(id.value)? “绿色”:“红色” – Redu