मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -
const arr = [
{a:1, b:"apples"},
{a:3, b:"apples"},
{a:4, b:"apples"},
{a:1, b:"bananas"},
{a:3, b:"bananas"},
{a:5, b:"bananas"},
{a:6, b:"bananas"},
{a:3, b:"oranges"},
{a:5, b:"oranges"},
{a:6, b:"oranges"},
{a:10, b:"oranges"}
]; हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक ऐसी सरणी लेता है और वस्तुओं की एक सरणी देता है।
सरणी में "बी" संपत्ति के प्रत्येक अद्वितीय मूल्य के लिए एक वस्तु होनी चाहिए जहां "ए" संपत्ति का उच्चतम मूल्य होता है।
इसके लिए कोड होगा -
const arr = [
{a:1, b:"apples"},
{a:3, b:"apples"},
{a:4, b:"apples"},
{a:1, b:"bananas"},
{a:3, b:"bananas"},
{a:5, b:"bananas"},
{a:6, b:"bananas"},
{a:3, b:"oranges"},
{a:5, b:"oranges"},
{a:6, b:"oranges"},
{a:10, b:"oranges"}
];
const pickHighest = arr => {
const res = [], map = {};
arr.forEach(el => {
if (!(el['b'] in map)) {
map[el['b']] = res.push(el) - 1;
return;
};
if(res[map[el['b']]]['a'] < el['a']){
res[map[el['b']]] = el;
};
});
return res;
};
console.log(pickHighest(arr)); कंसोल पर आउटपुट निम्नलिखित है -
[
{ a: 4, b: 'apples' },
{ a: 6, b: 'bananas' },
{ a: 10, b: 'oranges' }
]