Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะค้นหาวัตถุที่มีค่าสูงสุดใน JavaScript ภายในอาร์เรย์ของวัตถุได้อย่างไร


เรามีอาร์เรย์ที่บรรจุวัตถุหลายชิ้นที่ชื่อว่า นักเรียน วัตถุแต่ละชิ้นที่นักเรียนมีคุณสมบัติหลายอย่าง หนึ่งในนั้นคืออาร์เรย์ที่มีชื่อ เกรด -

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 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);

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

Student 2 has the highest score of 90