📅  最后修改于: 2023-12-03 15:41:50.139000             🧑  作者: Mango
本题涉及以下技能点:
给定一个包含多个对象的数组,每个对象都有 name
和 score
两个属性。请编写一个函数 findMaxScore(arr)
,接受一个数组 arr
作为参数,返回数组中得分最高的那个对象及其分数。
参数 arr
是一个对象数组,每个对象包含两个属性: name
和 score
。如下所示:
[
{ name: 'Alice', score: 70 },
{ name: 'Bob', score: 80 },
{ name: 'Charlie', score: 90 }
]
函数 findMaxScore(arr)
应该返回数组中得分最高的那个对象及其分数,返回格式如下所示:
{ name: 'Charlie', score: 90 }
注意:如果数组为空,则返回 null
。
以下是一个使用示例:
const arr = [
{ name: 'Alice', score: 70 },
{ name: 'Bob', score: 80 },
{ name: 'Charlie', score: 90 }
];
console.log(findMaxScore(arr)); // { name: 'Charlie', score: 90 }
我们先定义一个变量 max
,用于存储当前找到的最高分。然后定义一个变量 result
,用于存储得分最高的那个对象。
我们遍历数组 arr
,对于每个对象,判断其得分是否比 max
大,如果是,则将 max
更新为当前得分,将 result
更新为当前对象。
遍历完成后,返回 result
。
function findMaxScore(arr) {
let max = -Infinity;
let result = null;
for (let i = 0; i < arr.length; i++) {
if (arr[i].score > max) {
max = arr[i].score;
result = arr[i];
}
}
return result;
}