Javascript 我可以在while循环中使用2个if语句吗?

Javascript 我可以在while循环中使用2个if语句吗?,javascript,Javascript,我试图找到(名字)等级是(等级),但似乎代码只适用于第一个人,即鲍勃,但当它是乔治,它说没有找到 var studentArray = [ { 'name': 'Bob', 'grade': 87 }, { 'name': 'Fred', 'grade': 82 }, { 'name': 'George', 'grade': 93 }, { 'name': 'Robert', 'grade': 85 } ]; function findStudent(studentName)

我试图找到(名字)等级是(等级),但似乎代码只适用于第一个人,即鲍勃,但当它是乔治,它说没有找到

var studentArray = [
  { 'name': 'Bob', 'grade': 87 },
  { 'name': 'Fred', 'grade': 82 },
  { 'name': 'George', 'grade': 93 },
  { 'name': 'Robert', 'grade': 85 }
];

function findStudent(studentName) {
  var i = 0; //var i = 0 should be inside
  var output = "";

  while (i < studentArray.length) {
    if(studentName === studentArray[i].name) {
      output = ( "Found " + studentName + " their grade is " + studentArray[i]['grade']);
    } else {
      output = ("Student " + studentName + " not found.");
    }
    i++;
  }

  return output;
}

var name = 'George';
var result = findStudent(name);
console.log(result);
var studentArray=[
{'name':'Bob','grade':87},
{'name':'Fred','grade':82},
{'name':'George','grade':93},
{'name':'Robert','grade':85}
];
函数findStudent(studentName){
var i=0;//var i=0应该在内部
var输出=”;
while(i
如果您找到了,您应该立即返回,而不是遍历整个循环

您需要在循环之外进行检查

var studentArray=[{'name':'Bob','grade':87},{'name':'Fred','grade':82},{'name':'George','grade':93},{'name':'Robert','grade':85}]
函数findStudent(studentName){
var i=0;
var输出=”;
while(i控制台日志(结果)好的,你只能在看了所有的代码后说“找不到”。。。。因此,它必须发生在循环之外。你真的应该在
find()
中使用现代技术,一旦找到一个,你就应该立即返回……或者整个循环完成,只有最后一个项目才重要,就像代码只对第一个人起作用一样——这是不可能的,它应该对最后一个人起作用。在每次迭代中覆盖
输出
,因此在最后它将说明数组中的最后一项。