找到对象中 JavaScript 的 n 个最高值
比如说,我们有一个描述足球运动员各种素质的对象,如下所示 −
const qualities = {
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 }
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP