আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা লিটারেলের একটি অ্যারে গ্রহণ করে যেটিতে কিছু ডুপ্লিকেট ভ্যালু থাকতে পারে।
ফাংশনটি সেই সব এলিমেন্টের একটি অ্যারে রিটার্ন করবে যেগুলো সবচেয়ে কম বার রিপিট হয়েছে।
উদাহরণস্বরূপ- ইনপুট অ্যারে যদি হয়:
const arr = [1,1,2,2,3,3,3];
তাহলে আউটপুট হবে:
const output = [1, 2];
কারণ ১ এবং ২ সবচেয়ে কম বার (২ বার) রিপিট হয়েছে।
উদাহরণ
const arr = [1,1,2,2,3,3,3];
const getLeastDuplicateItems = (arr = []) => {
const hash = Object.create(null);
let keys, min;
arr.forEach(el => {
hash[el] = hash[el] || {
value: el, count: 0
};
hash[el].count++;
});
keys = Object.keys(hash);
keys.sort(function (el, b) {
return hash[el].count - hash[b].count;
});
min = hash[keys[0]].count;
return keys.filter(el => {
return hash[el].count === min;
}).map(el => {
return hash[el].value;
});
}
console.log(getLeastDuplicateItems(arr));
আউটপুট
কনসোলে আউটপুট হবে:
[ 1, 2 ]