ধরুন আমাদের দুটি অ্যারে স্ট্রিং আছে, একটি কিছু শব্দের প্রতিনিধিত্ব করে এবং অন্যটি এরকম কিছু বাক্য -
const names= ["jhon", "parker"]; const sentences = ["hello jhon", "hello parker and parker", "jhonny jhonny yes parker"];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই ধরনের দুটি অ্যারে স্ট্রিং নেয়।
ফাংশনটি এমন একটি বস্তু প্রস্তুত করে ফেরত দিতে হবে যাতে বাক্য বিন্যাসে তাদের গণনার বিপরীতে ম্যাপ করা প্রথম (নাম) অ্যারের স্ট্রিং থাকে৷
অতএব, এই অ্যারেগুলির জন্য, আউটপুটটি এইরকম কিছু দেখা উচিত -
const output = { "jhon": 1, "parker": 3 };
উদাহরণ
এর জন্য কোড হবে −
const names= ["jhon", "parker"]; const sentences = ["hello jhon", "hello parker and parker", "jhonny jhonny yes parker"]; const countAppearances = (names = [], sentences = []) => { const pattern = new RegExp(names.map(name => `\\b${name}\\b`).join('|'), 'gi'); const res = {}; for (const sentence of sentences) { for (const match of (sentence.match(pattern) || [])) { res[match] = (res[match] || 0) + 1; } }; return res; }; console.log(countAppearances(names, sentences));
আউটপুট
এবং কনসোলে আউটপুট হবে −
{ jhon: 1, parker: 3 }