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