ধরা যাক, আমাদের কাছে এই ধরনের বস্তুর একটি অ্যারে আছে -
উদাহরণ
const arr = [
{text:'use'},
{text: 'secur'},
{text: 'form'},
{text: 'user'},
{text: 'users'},
{text: 'form'},
{text: 'secur'},
{text: 'sec'},
{text: 'users'},
{text: 'secu'},
{text: 'secur'},
{text: 'for'},
{text: 'form'}
] আমাদের কাজ হল একটি ফাংশন লেখা যা এই অ্যারে এবং একটি সংখ্যা n নেয় এবং ফাংশনটি n অবজেক্টের একটি অ্যারে ফেরত দেয় যার টেক্সট কী-এর জন্য দীর্ঘতম স্ট্রিং মান রয়েছে এবং সমস্ত বস্তুর পাঠ্য কী-এর জন্য একটি অনন্য মান থাকা উচিত। যদি n অনন্য বস্তুর অস্তিত্ব না থাকে, তাহলে আমাদের সমস্ত অনন্য বস্তু ফেরত দেওয়া উচিত।
অতএব, আসুন এই ফাংশনের জন্য কোড লিখি -
উদাহরণ
const arr = [
{text: 'use'},
{text: 'secur'},
{text: 'form'},
{text: 'user'},
{text: 'users'},
{text: 'form'},
{text: 'secur'},
{text: 'sec'},
{text: 'users'},
{text: 'secu'},
{text: 'secur'},
{text: 'for'},
{text: 'form'}
];
const sorter = (a, b) => {
return b.text.length - a.text.length;
}
const longestUnique = (arr, num) => {
const copy = arr.slice();
copy.sort(sorter);
const map = new Map();
const uniqueCopy = copy.filter(el => {
const exists = map.get(el.text);
if(exists){
return false;
};
map.set(el.text, 1);
return true;
});
return uniqueCopy.splice(0, num);
}
console.log(longestUnique(arr, 4));
console.log(longestUnique(arr, 12)); ফেরত দিন আউটপুট
কনসোলে আউটপুট হবে −
[
{ text: 'secur' },
{ text: 'users' },
{ text: 'form' },
{ text: 'user' }
]
[
{ text: 'secur' },
{ text: 'users' },
{ text: 'form' },
{ text: 'user' },
{ text: 'secu' },
{ text: 'use' },
{ text: 'sec' },
{ text: 'for' }
]