将数组编号与数组名称匹配?

时间:2013-11-25 22:50:33

标签: javascript arrays

我的编程实验室问题陈述:

  

设计一种算法,该算法将提示并从终端的运营商处接收员工编号。您的程序是搜索一组有效的员工编号以检查员工编号是否有效,查找并行数组以检索该编号的相应员工姓名,并将名称显示在屏幕上。如果员工编号无效,则会显示错误消息。

我应该输入员工编号,然后显示员工姓名。 (如果号码无效,也需要提供错误信息。)

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 i = 1;
Emp_num=prompt("Enter Employee Number: ");

1 个答案:

答案 0 :(得分:0)

您无法将prompt的返回值分配给Emp_num,因为这是您存储员工编号数组的位置。创建一个名为Req_num或其他内容的新变量并将其存储在那里。

然后您只需将用户条目转换为parseInt的整数,然后在indexOf中找到Emp_num该数字。然后,您可以在Emp_name中查找此索引(如果它大于-1)以获取员工姓名,如下所示:

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.");
}

parseInt docsindexOf docs

See demo