2017-04-14 126 views
0

,你可以通过链接查看(https://jsfiddle.net/andresmcio/vLp84acv/)是一个简单的表格,作为存储数据:如何通过使用JavaScript获取输入数据的json对象搜索最大值和最小值?

var _newStudent = { 
     "code": code, 
     "names": names, 
     "grade": grades, 
    }; 

我遇到了麻烦与各自的按钮,最高和最低的等级,因为它是本次入境作为最大值和最小值。

会很高兴如果有人可以帮助,请记住,它应该显示为(与警报),只使用JavaScript,而不是jQuery或任何其他。

预先感谢。

+0

你应该包括计算问题中最高和最低成绩的功能,这样人们可以直接看到并参考你的工作。 – AeroBuffalo

+0

欢迎来到Stack Overflow!将您的代码发布到此处,而不仅仅是在远程站点。您可以使用[Stack Snippets](https://stackoverflow.blog/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/)使其可执行。 – Barmar

+0

你需要调用'Math.max()'所有等级,而不仅仅是其中的一个。它计算所有参数的最大值。如果将它们放入数组中,请参阅[这里](http://stackoverflow.com/questions/1669190/javascript-min-max-array-values)了解如何获取最大值和最小值。 – Barmar

回答

0

看起来你可能在你的函数中有两个问题。 1.)您将重置用于跟踪每次迭代信息的变量。 2.)在每次迭代期间,您只将每个学生与同一名学生进行比较。因此,我认为像下面这样的东西会提供你正在寻找的东西。

function hghGrade(json) { 
    if (json.length > 1) { 
     var text = ""; 
     var maxGrade = 0; 
     var thisGrade = 0; 
     for (var i = 0; i < json.length; i++) { 
      thisGrade = parseFloat(json[i].grade); 
      if (maxGrade < thisGrade)) { 
       maxGrade = thisGrade; 
       test = json[i].names + " ID code " + json[i].code + " with grade " + json[i].grade; 
      } 
     } 
     alert("The best grade is from: " + text); 
    } else { 
     alert("Please register at least two students"); 
    } 
} 
+0

完美@AeroBuffalo!正如需要。我注意到包含文本变量的错误,它只是将最大值应用于某个项目,但决定发布原始代码,因为其他尝试不返回任何内容。谢谢你的帮助。 :) – Andresmcio

相关问题