在数组中显示某个值

时间:2018-10-10 12:21:52

标签: javascript arrays variables

我无法使此函数正常工作,我需要数组在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";
    }
}

3 个答案:

答案 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";    
}