Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में सरणी के तत्वों की डीप काउंट


समस्या

हमें एक 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

  1. JavaScript का उपयोग करके क्यू से एलिमेंट्स हटाना JavaScript का उपयोग करके क्यू से एलिमेंट्स हटाना

    क्यू से एलिमेंट्स डीकीयू करने का अर्थ है उन्हें क्यू के फ्रंट/हेड से हटाना। हम कंटेनर एरे की शुरुआत को क्यू का हेड मान रहे हैं क्योंकि हम इसके संबंध में सभी ऑपरेशन्स करेंगे। इसलिए, हम पॉप फ़ंक्शन को इस प्रकार लागू कर सकते हैं: उदाहरण dequeue() {    // जांचें कि खाली है या नहीं   &nb

  1. JavaScript का उपयोग करके क्यू में एलिमेंट्स जोड़ना JavaScript का उपयोग करके क्यू में एलिमेंट्स जोड़ना

    क्यू में एलिमेंट्स एनकीयू करने का अर्थ है उन्हें एरे के अंत में जोड़ना। हम कंटेनर एरे के अंत को क्यू की टेल मान रहे हैं क्योंकि हम इसके संबंध में सभी इन्सर्शन ऑपरेशन्स करेंगे। इसलिए हम एनकीयू फ़ंक्शन को इस प्रकार लागू कर सकते हैं: उदाहरण enqueue(element) {    // जांचें कि क्यू भरा हुआ है

  1. जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करना जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करना

    जावास्क्रिप्ट ऑब्जेक्ट्स के ऐरे पर ऐरे के मेथड्स का उपयोग करने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style