我无法使此函数正常工作,我需要数组在var中显示某个值,但它无法工作。我为此功能苦苦挣扎:
var tall = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
if(nummer == 11) {
var sjkk = document.getElementById("sjkk").value;
if (sjkk.indexOf(tall)) {
document.getElementById("tall").innerHTML = "Yes, the number exist in the array";
} else {
document.getElementById("tall").innerHTML = "No, the number does not exist in the array";
}
}
答案 0 :(得分:2)
您需要检查数组中的值,因此indexOf
必须是另一种方法。
此外,.value
将返回一个字符串,因此,要正确检查其存在性,您首先需要将其转换为数字,因为array
中的所有值是numbers
。
因此,您需要从
更新sjkk.indexOf(tall)
到
tall.indexOf(Number(sjkk)) !== -1
或
tall.includes(Number(sjkk))
答案 1 :(得分:0)
indexOf方法应该应用于这样的数组:
if (tall.indexOf(parseInt(sjkk, 10)) > -1) {
document.getElementById("tall").innerHTML = "Ja, tallet er i arrayen";
} else {
document.getElementById("tall").innerHTML = "Nei, tallet er ikke i arrayen";
}
答案 2 :(得分:0)
我们可以使用以下代码来达到所需的结果,
var tall = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
let uniqueTall = {};tall.forEach((value)=>{uniqueTall[value]=1})
if(nummer == 11) {
var sjkk = document.getElementById("sjkk").value;
document.getElementById("tall").innerHTML = uniqueTall[sjkk] ? "Yes, the number exist in the array": "No, the number does not exist in the array";
}