我正在爲用戶填寫答案編碼測驗,如果它與數組中的正確答案之一匹配,則該字段將變爲綠色,否則變爲紅色。這是什麼在起作用:如何將輸入值與數組的整個範圍匹配?
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