在 JavaScript 对象中查找 n 个最高值
javascriptweb developmentobject oriented programming更新于 2025/9/30 6:04:17
假设我们有一个对象,它描述了足球运动员的各种素质,如下所示 −
const quality = {
defence: 82,
attack: 92,
heading: 91,
pace: 96,
dribbling: 88,
tenacity: 97,
vision: 91,
passing: 95,
shooting: 90
};
我们希望编写一个函数,该函数接受这样的对象和一个数字 n(n <= 对象中的键数),并返回具有 n 个最高键值对的对象。
例如 n = 2
输出应为 −
{
tenacity: 97,
pace: 96
}
因此,让我们为该函数编写代码,
该函数的完整代码将是 −
示例
const qualities = {
defence: 82,
attack: 92,
heading: 91,
pace: 96,
dribbling: 88,
tenacity: 97,
vision: 91,
passing: 95,
shooting: 90
};
const pickHighest = (obj, num = 1) => {
const requiredObj = {};
if(num > Object.keys(obj).length){
return false;
};
Object.keys(obj).sort((a, b) => obj[b] - obj[a]).forEach((key, ind) =>
{
if(ind < num){
requiredObj[key] = obj[key];
}
});
return requiredObj;
};
console.log(pickHighest(qualities, 3));
输出
控制台中的输出将是 −
{ tenacity: 97, pace: 96, passing: 95 }
{ tenacity: 97 }
{ tenacity: 97, pace: 96, passing: 95, attack: 92, heading: 91 }
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

