找到物件中 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