JavaScript数组,代码错误

JavaScript Arrays, Error in code

本文关键字:错误 代码 数组 JavaScript      更新时间:2023-10-16

我的任务是设计一种算法,该算法将提示并接收终端操作员的员工号码。我的程序是搜索一个有效的员工编号数组以检查员工编号是否有效,查找一个并行数组以检索该编号的相应员工名称,并将名称显示在屏幕上。如果员工编号无效,将显示一条错误消息。

var Emp_num  = new Array(123,234,345,456,567,678,789,890,901,012);
var Emp_name = new
Array("ED","BOB","LOU","JEAN","MAX","SUE","VIC","TOM","CAL","MO");
var Req_num = prompt("Enter Employee Number: ");
var Emp_idx = Emp_num.indexOf(parseInt(Req_num, 10));
if (Emp_idx > -1) {
    alert("Employee name: " + Emp_name[Emp_idx]);
} else {
    alert("Employee number not found.");
}

当我运行这个时,我收到了一条错误消息,我只是好奇我做错了什么?

(对象不支持属性或方法"indexOf")

此外,如果还有其他方法可以改进代码,我们将不胜感激!!

Array.indexOf方法只存在于某些浏览器中。循环遍历数组中的项以查看是否找到它。

对于不支持indexOf的浏览器(如IE8或更早版本),您可以自己实现:

Array.prototype.indexOf = function(obj, start) {
     for (var i = (start || 0), j = this.length; i < j; i++) {
         if (this[i] === obj) { return i; }
     }
     return -1;
}

有关indexOf 的更多信息