মনে করুন আমাদের নিচের মত অবজেক্টের একটি অ্যারে আছে −
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"} ];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই অ্যারেটি নেবে এবং অবজেক্টের একটি অ্যারে রিটার্ন করবে।
অ্যারেতে প্রতিটি ইউনিক "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 (!(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' } ]