মান লজিয়ে, আমাদের কিছু ডুপ্লিকেট এন্ট্রি বিশিষ্ট একটি স্ট্রিং অ্যারে আছে নিচের মতো −
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California'];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারে নেয়। ফাংশনটি প্রতিটি ইউনিক এন্ট্রি-র জন্য একটি অবজেক্ট এবং একটি "count" প্রপার্টি (যেটিতে মূল অ্যারে-তে এর কতবার আছে তা) ধারণকারী একটি অবজেক্টের অ্যারে তৈরি করবে।
সুতরাং, উপরের অ্যারে-র চূড়ান্ত আউটপুট হবে নিচের মতো −
const output = [
{'name':'California', 'count':2},
{'name':'Texas', 'count':3},
{'name':'New York', 'count':1},
{'name':'Missouri', 'count':1},
{'name':'New Mexico', 'count':1},
];
উদাহরণ
এটির কোড হবে −
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California'];
const findOccurrences = (arr = []) => {
const res = [];
arr.forEach(el => {
const index = res.findIndex(obj => {
return obj['name'] === el;
});
if(index === -1){
res.push({
"name": el,
"count": 1
})
}
else{
res[index]["count"]++;
};
});
return res;
};
console.log(findOccurrences(arr));
আউটপুট
কনসোলে আউটপুট হবে −
[
{ name: 'California', count: 2 },
{ name: 'Texas', count: 3 },
{ name: 'New York', count: 1 },
{ name: 'Missouri', count: 1 },
{ name: 'New Mexico', count: 1 }
]