समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो तत्वों की एक नेस्टेड सरणी लेता है और सरणी में मौजूद तत्वों की गहरी गणना लौटाता है।
इनपुट
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