কম্পিউটার

জাভাস্ক্রিপ্টকে পরপর এলিমেন্ট গ্রুপে সংকুচিত করুন


আমাদের এমন একটি স্ট্রিং দেওয়া হয়েছে যাতে ড্যাশ (-) দ্বারা আলাদা করা কিছু পুনরাবৃত্তি শব্দ রয়েছে −

const str ='সোমবার-রবিবার-মঙ্গলবার-রবিবার-রবিবার-সোমবার-সোমবার';

এখন আমাদের কাজ হল এমন একটি ফাংশন লেখা যা বস্তুর একটি অ্যারে প্রদান করে, যেখানে প্রতিটি বস্তুর দুটি বৈশিষ্ট্যের মান এবং গণনা থাকে, মান হল স্ট্রিং-এর শব্দ (সোমবার, মঙ্গলবার, রবিবার) এবং গণনা হল তাদের ধারাবাহিক উপস্থিতি গণনা৷

উপরের স্ট্রিং জন্য, এই অ্যারে এই মত কিছু দেখতে হবে -

const arr =[{ Val:'monday', count:1}, { val:'sunday', count:1}, { Val:'tuesday', count:2}, { val:'sunday', গণনা:2}, { ভাল:'সোমবার', গণনা:3}]

কারণ সোমবার একবার, তারপর রবিবার একবার, মঙ্গলবার দুবার, রবিবার দুবার এবং শেষ সোমবার তিনবার দেখা যায়।

আমরা অ্যারেকে বিভক্ত করব এবং তারপরে Array.prototype.reduce() পদ্ধতি ব্যবহার করব যাতে এইভাবে কাঙ্খিত অ্যারেটি পুনরাবৃত্তভাবে ফেরত দেওয়া যায় -

এখানে সম্পূর্ণ কোড -

উদাহরণ

const str ='সোমবার-রবিবার-মঙ্গলবার-রবিবার-রবিবার-সোমবার-সোমবার-সোমবার';const str2 ='শুক্রবার-শুক্রবার-রবিবার-মঙ্গলবার-রবিবার-রবিবার-সোমবার-বৃহস্পতিবার';const compressString =(str ) => { str.split('-').reduce((acc, val) => { const { length:l } =acc; if(acc[l-1]?.val ===val){ acc[l-1].count++; ফেরত acc; }অন্য{ ফেরত acc.concat({ val, গণনা:1 }); } }, []);} console.log(compressString(str));console.log (compressString(str2));

আউটপুট

উপরের কোডের জন্য কনসোলে আউটপুট হবে −

[ { ভাল:'সোমবার', গণনা:1 }, { ভাল:'রবিবার', গণনা:1 }, { মান:'মঙ্গলবার', গণনা:2 }, { মান:'রবিবার', গণনা:2 }, { ভাল:'সোমবার', গণনা:3 }][ { ভাল:'শুক্রবার', গণনা:2 }, { ভাল:'রবিবার', গণনা:1 }, { মান:'মঙ্গলবার', গণনা:1 } , { ভাল:'রবিবার', গণনা:2 }, { ভাল:'সোমবার', গণনা:1 }, { ভাল:'বৃহস্পতিবার', গণনা:1 }, { ভাল:'সোমবার', গণনা:1 }] 
  1. জাভাস্ক্রিপ্ট অ্যারে বস্তু গণনা কিভাবে?

  2. কিভাবে জাভাস্ক্রিপ্টে আইডি দ্বারা অবজেক্টের অ্যারে গ্রুপ করবেন?

  3. জাভাস্ক্রিপ্টে একটি অ্যারের উপাদান পুনর্বিন্যাস করা

  4. জাভাস্ক্রিপ্ট ব্যবহার করে একটি অ্যারের উপাদানের গভীর গণনা