ধরুন আমাদের কাছে 't'/'f' দ্বারা উপস্থাপিত সত্য/মিথ্যার একটি অ্যারে রয়েছে যা আমরা এইরকম কিছু ডাটাবেস থেকে পুনরুদ্ধার করেছি −
const arr = ['f', 't', 'f', 't', 't', 't', 'f', 'f', 't', 't', 't', 't', 't', 't', 'f', 't'];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারেতে নেয়। আমাদের ফাংশনটি সেই 't'-এর ধারাবাহিক উপস্থিতি গণনা করা উচিত যা দুটি 'f'-এর মধ্যে স্যান্ডউইচ করা হয়েছে এবং সেই গণনার একটি অ্যারে ফেরত দেওয়া উচিত।
অতএব, উপরের অ্যারের জন্য, আউটপুটটি −
এর মত হওয়া উচিতconst output = [1, 3, 6, 1];
উদাহরণ
এর জন্য কোড হবে −
const arr = ['f', 't', 'f', 't', 't', 't', 'f', 'f', 't', 't', 't', 't', 't', 't', 'f', 't']; const countClusters = (arr = []) => { let res = []; res = arr.reduce((acc, val) => { const { length: l } = acc; if(val === 't'){ acc[l - 1]++; } else if(acc[l - 1] !== 0){ acc.push(0); }; return acc; }, [0]); return res; }; console.log(countClusters(arr));
আউটপুট
এবং কনসোলে আউটপুট হবে −
[ 1, 3, 6, 1 ]