数组不会正确迭代并检查值 - Javascript

Array wont iterate properly and check values - Javascript

我正在使用 JavaScript 制作一个小应用程序,用户可以在其中输入一些数字并将其存储在一个数组中。然后应用程序在屏幕上以绿色打印出 1 到 40。如果存储在数组中的任何数字等于 1 到 40,那么当它出现在屏幕上时它将是红色而不是绿色。

var nums = document.getElementById('numbers').value;        
var numArray = [];
numArray = nums.split(" ");

for (n = 1; n < 41; n++) {
    if (n === numArray[n]) {
        document.write('<p>' + n + '</p}><br>');
    }
    else {
        document.write('<p>' + n + ' not in array</p}><br>');
    }
}

以上代码只是一次尝试。我也尝试过嵌套的 forloops,但如果它存在,将打印 1-40 检查。然后再打印出来。直到完成。

那么,我怎样才能让它只迭代 1-40,如果它存在于数组中,就在屏幕上打印不同的东西?我坚持这个很久了!

提前致谢。

使用 Array.indexOf 方法在数组中搜索值。您还必须将要搜索的数字转换为字符串。这是一个工作循环:

for (n = 1; n < 41; n++) {
    if (numArray.indexOf(n.toString()) >=0) {
        document.write('<p>' + n + '</p}><br>');
    }
    else {
        document.write('<p>' + n + ' not in array</p}><br>');
    }
}

希望对您有所帮助!