javascript - 我想知道学生数组中是否有某个名字,如果有则打印出true,如果没有则打印出false

标签 javascript arrays function object

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/

相关文章:

java - 分离数组数字并将它们保存在 float 中

c# - 为什么 C# 在两个 int 数组语法上表现不同

javascript - 动态onclick,带参数的匿名函数

javascript - Promise 是异步解决还是同步解决?

javascript - 使用 doc.data() 时如何将变量分配为字段名持有者。在 firebase 中检索数据

javascript - 添加 tween.js 后按钮单击事件不会触发

objective-c - 我可以使用 NSMutableArray 分配数组大小吗?

javascript - 为什么我的数组中的项目不显示在单独的行中?

javascript - 有没有办法克隆 javascript 中的 native 函数,例如 window.alert 或 document.write

javascript - Angular Directive(指令) - 未显示隔离范围