मान लीजिए कि हमारे पास '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 ]