【发布时间】:2019-10-23 03:38:58
【问题描述】:
我希望出现一条提示消息,要求用户输入学生姓名。 Javascript 会查看单独的 JS 文件中的学生记录,然后在 message 变量中输出学生的信息。
这里是相关的javascript代码:
var students=[
{
name:'Chris',
track:'IOS',
achievements:'100',
points:'1000'
},
{
name:'John',
track:'Web Design',
achievements:'90',
points:'1000'
},
{
name:'Brent',
track:'Front-End',
achievements:'70',
points:'1000'
},
{
name:'Josh',
track:'Full-Stack',
achievements:80,
points:'1000'
},
{
name:'Nick',
track:'AI',
achievements:'60',
points:'1000'
}
];
function print(message) {
document.write(message);
}
var message="";
var flag=false;
var search=prompt("Type name of student. Type 'quit' to exit.");
while (search!=="quit") {
for (var i=0; i<students.length; i+=1) {
var studentName=students[i].name;
if (studentName===search) {
flag=true;
break;
}
}
if (flag) {
message+="<h1>"+studentName+"</h1>";
message+="<p>"+students[i].track+"</p>";
message+="<p>"+students[i].achievements+"</p>";
message+="<p>"+students[i].points+"</p>";
} else {
alert("That student does not exist. Try again");
search=prompt("Type name of student");
}
}
print(message);
我意识到我很接近,但是,我尝试从 for 循环中访问的任何变量都将仅在该循环中是本地的。那么,如果我无法在条件句中访问本地 for 循环变量,我的 if 和 else 条件将如何工作?我只是希望它找到匹配项,一旦找到匹配项,停止 for 循环,然后继续使用该特定元素索引。
【问题讨论】:
-
所以在外面声明...你最好使用数组
find() -
从您当前的代码看来,如果找到匹配项,您希望继续提示用户寻找另一个学生。这就是你想要做的吗?
标签: javascript arrays object boolean