আমাদের কাছে একটি সংখ্যা/স্ট্রিং লিটারেলের অ্যারে রয়েছে যাতে কিছু পুনরাবৃত্ত এন্ট্রি রয়েছে। আমাদের কাজ হল এমন একটি ফাংশন লিখা যা একটি ধনাত্মক পূর্ণসংখ্যা n নেবে এবং সেই n সংখ্যার চেয়ে বেশি বা সমানবার উপস্থিত থাকা সব উপাদানের একটি সাবঅ্যারে ফেরত দেবে।
সেজন্য, আমরা একটি Map() ব্যবহার করব উপাদানগুলোর কম্পাঙ্কyny রেকর্ড রাখতে এবং পরে নির্দিষ্ট কাউন্ট অতিক্রম করা উপাদানগুলো ফেরত দিতে। কোডটি হবে:
উদাহরণ
const arr = [34, 6, 34, 8, 54, 7, 87, 23, 34, 6, 21, 6, 23, 4, 23];
const moreThan = (arr, num) => {
const creds = arr.reduce((acc, val) => {
let { map, res } = acc;
const count = map.get(val);
if(!count && typeof count !== 'number'){
map.set(val, 1);
}else if(num - count <= 1){
res.push(val);
} else {
map.set(val, count+1);
};
return {map, res};
}, {
map: new Map(),
res: []
});
return creds.res;
};
console.log(moreThan(arr, 3));
আউটপুট
কনসোলে আউটপুট হবে:
[34, 6, 23]