Показать определенное значение в массиве - PullRequest
0 голосов
/ 10 октября 2018

Я не могу заставить эту функцию работать, мне нужен массив для отображения определенного значения в переменной, но он не будет работать.Я борюсь с этой функцией:

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 голосов
/ 10 октября 2018

Метод 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";
    }
0 голосов
/ 10 октября 2018

Мы можем достичь требуемых результатов с помощью кода ниже,

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";    
}
0 голосов
/ 10 октября 2018

Вам нужно проверить значение в массиве, следовательно, indexOf должен быть наоборот.

Кроме того, .value вернет строку, следовательно, для правильной проверки существования вам необходимо сначала преобразовать ее в число , так как все значения в array равны numbers.

Следовательно, вам нужно будет обновить с

sjkk.indexOf(tall)

до

tall.indexOf(Number(sjkk)) !== -1 

или

tall.includes(Number(sjkk))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...