【问题标题】:Problem with array of objects in javascript [closed]javascript中对象数组的问题[关闭]
【发布时间】:2021-08-14 21:25:11
【问题描述】:

这是我在这里的第一个问题,所以我会尽量准确。

我有作业要求我创建一个包含 5 个对象的数组,这些对象是学生的姓名和平均成绩。

平均成绩被设置为从25 的任意数字,例如:2.503.344.95 等。我唯一的工作是在控制台中打印出namesurname 平均成绩最低的学生。

在我的一生中,我不知道该怎么做,谷歌搜索也没有帮助,或者至少 我不知道如何寻找它。

我只能定义对象,但我不知道如何列出对象并找到最低的“avgGrade”。

var students = [
  { name: "John", surname: "Doe", avgGrade: 5.0 },
  { name: "Mike", surname: "Adams", avgGrade: 4.2 },
  { name: "Mark", surname: "Davis", avgGrade: 2.1 },
  { name: "Jane", surname: "Jones", avgGrade: 3.99 },
  { name: "Sarah", surname: "Quinn", avgGrade: 2.8 },
];

【问题讨论】:

标签: javascript arrays object


【解决方案1】:

您可以使用for...of 循环来做到这一点,

我们可以声明两个变量lowestAvg,它跟踪我们迄今为止看到的最低平均成绩。还有lowestStudent,它会跟踪拥有该成绩的学生。

我们使用for...of 循环检查每个学生的成绩与我们目前看到的最低成绩。

完整代码:

let students = [ { name: "John", surname: "Doe", avgGrade: 5.0 }, { name: "Mike", surname: "Adams", avgGrade: 4.2 }, { name: "Mark", surname: "Davis", avgGrade: 2.1 }, { name: "Jane", surname: "Jones", avgGrade: 3.99 }, { name: "Sarah", surname: "Quinn", avgGrade: 2.8 }, ];

let lowestAvg = 10;
let lowestStudent = null;

for (let student of students) {
  if (student.avgGrade <= lowestAvg) {
    lowestStudent = student;
    lowestAvg = student.avgGrade;
  } 
}

console.log(lowestStudent);
console.log(lowestStudent.name, lowestStudent.surname);

【讨论】:

    猜你喜欢
    • 2021-07-19
    • 2012-07-25
    • 2017-12-05
    • 1970-01-01
    • 2022-06-15
    • 2017-01-18
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    相关资源
    最近更新 更多