ধরুন, আমাদের একটি অ্যারে স্ট্রিং আছে যাতে কিছু ডুপ্লিকেট এন্ট্রি রয়েছে -
const arr = ['California','Texas','Texas','Texas','New York','Missouri','New Mexico','California'];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এইরকম একটি অ্যারেতে নেয়। আমাদের ফাংশনটি তখন অবজেক্টের একটি অ্যারে তৈরি করবে যাতে প্রতিটি অনন্য এন্ট্রির জন্য একটি অবজেক্ট থাকে এবং একটি বৈশিষ্ট্য "গণনা" থাকে যা মূল অ্যারেতে এর গণনা ধারণ করে।
অতএব, উপরের অ্যারের জন্য চূড়ান্ত আউটপুট এইরকম কিছু দেখা উচিত -
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 } ]