Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để tìm bên trong một mảng đối tượng, đối tượng có giá trị cao nhất trong JavaScript?

Chúng ta có một mảng chứa một số đối tượng có tên là student, mỗi đối tượng là student có một số thuộc tính, một trong số đó là mảng có tên là điểm -

const arr = [
   {
      name: "Student 1",
      grades: [ 65, 61, 67, 70 ]
   },
   {
      name: "Student 2",
      grades: [ 50, 51, 53, 90 ]
   },
   {
      name: "Student 3",
      grades: [ 0, 20, 40, 60 ]
   }
];

Chúng ta cần tạo một hàm lặp qua mảng của học sinh và tìm đối tượng học sinh nào có điểm cao nhất bên trong mảng điểm của nó.

Ví dụ

Mã cho điều này sẽ là -

const arr = [
   {
      name: "Student 1",
      grades: [ 65, 61, 67, 70 ]
   },
   {
      name: "Student 2",
      grades: [ 50, 51, 53, 90 ]
   },
   {
      name: "Student 3",
      grades: [ 0, 20, 40, 60 ]
   }
];
const highestGrades = arr.map((stud, ind) => {
   return {
      name: stud.name,
      highestGrade: Math.max.apply(Math, stud.grades) // get a student's
      highest grade
   };
});
const bestStudent = highestGrades.sort((a, b) => {
   return b.highestGrade − a.highestGrade;
})[0];
console.log(bestStudent.name + " has the highest score of " +
bestStudent.highestGrade);

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

Student 2 has the highest score of 90