মান লিয়ে, আমাদের একটি অ্যারে আছে যা 't'/'f' দিয়ে true/false উপস্থাপন করে, ডাটাবেস থেকে পাওয়া -
const arr = ['f', 't', 'f', 't', 't', 't', 'f', 'f', 't', 't', 't', 't', 't', 't', 'f', 't'];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারে গ্রহণ করবে। আমাদের ফাংশনটি দুটি 'f'-র মাঝপথে যেসব 't' যোগফল পড়ে তাদের কাউন্ট করবে এবং সেই কাউন্টের অ্যারে রিটার্ন করবে।
অতএব, উপরের অ্যারেতে আউটপুট হবে -
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]