function createStudent(fn, ln) { //function
var person = {
firstName: fn,
lastName: ln
};
return person;
}
var tim = createStudent("Tim", "Plano");
var matt = createStudent("Matt", "Asant");
var elie = createStudent("Elie", "Garcia");
var students = [tim, matt, elie];
//Function
findStudentByFirstName(name); {
for (var i = 0; i < students.length; i++) {
if (name[i]=== students.firstName) {
return true;
} else {
return false;
}
}
}
I do not know what I'm doing wrong, can anyone please help me. Thank you in Advance.
最佳答案
看来您遇到了一些问题。声明您的findStudentByFirstName
函数应该使用相同的 function
您在编写 createStudent
时使用的关键字。其次,您想移动您的 return false
在 for 循环之外,以便您最终测试每个学生的姓名,然后再声称找不到他/她。最后,通过您的循环,您可能想访问 students[i]
(数组元素)而不是 name[i]
(这将是目标名称字符串的 (i+1)
第一个字符)。
function findStudentByFirstName(name) {
for (var i = 0; i < students.length; i++) {
if (name === students[i].firstName) {
return true
}
}
return false
}
function createStudent(fn, ln) {
var person = {
firstName: fn,
lastName: ln
};
return person;
}
var tim = createStudent("Tim", "Plano");
var matt = createStudent("Matt", "Asant");
var elie = createStudent("Elie", "Garcia");
var students = [tim, matt, elie];
console.log(findStudentByFirstName('Tim')) //=> true
console.log(findStudentByFirstName('Joe')) //=> false
关于javascript - 我想知道学生数组中是否有某个名字,如果有则打印出true,如果没有则打印出false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41050604/