समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो तत्वों की एक नेस्टेड सरणी लेता है और सरणी में मौजूद तत्वों की डीप काउंट वापस करता है।
इनपुट
const arr = [1, 2, [3, 4, [5]]];
आउटपुट
const output = 7;
क्योंकि स्तर 1 पर तत्व 2 हैं, स्तर 2 पर तत्व 2 हैं और स्तर 3 पर तत्व 1 है, इसलिए डीप काउंट 7 है।
उदाहरण
कोड निम्न है -
const arr = [1, 2, [3, 4, [5]]];
const deepCount = (arr = []) => {
return arr
.reduce((acc, val) => {
return acc + (Array.isArray(val) ? deepCount(val) : 0);
}, arr.length);
};
console.log(deepCount(arr));
कोड व्याख्या
हमने सरणी पर पुनरावृत्ति करने के लिए Array.prototype.reduce() विधि का उपयोग किया और यदि किसी पुनरावृत्ति में हमें एक नेस्टेड सरणी मिली, तो हमने अपने फ़ंक्शन को पुनरावर्ती रूप से कॉल किया।
आउटपुट
7