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

जावास्क्रिप्ट में पुनरावर्तन के बिना एकाधिक नेस्टेड सरणियों की सरणी को समतल करने का कार्य

<घंटा/>

मान लीजिए, हमारे पास इस तरह की संख्याओं की एक नेस्टेड सरणी है -

const arr = [1, 4, 5, [
   5, 6, [
      6, 19, 5, [5]
   ], [5, 7, 6, [6, 8]], 8
], 6];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक नेस्टेड सरणी लेता है, आदर्श रूप से किसी भी मनमाने स्तर पर नेस्टेड।

तब हमारे फ़ंक्शन को एक नया सरणी तैयार करना चाहिए और वापस करना चाहिए जो इनपुट सरणी का केवल एक चपटा संस्करण नहीं है।

फंक्शन लिखते समय हमें दो शर्तों से बचने के लिए कहा जाता है -

  • हम अपने कोड में कहीं भी किसी भी कस्टम रिकर्सिव फ़ंक्शन का उपयोग नहीं कर सकते हैं।

  • हम अपने कोड में Array.prototype.flat() पद्धति का उपयोग नहीं कर सकते।

उदाहरण

इसके लिए कोड होगा -

const arr = [1, 4, 5, [
   5, 6, [
      6, 19, 5, [5]
   ], [5, 7, 6, [6, 8]], 8
], 6];
const flattenWithoutRecursion = (arr = []) => {
   const res = [];
   let level = 0, ref = [arr], counter = [0];
   while(level >= 0){
      if (counter[level] >= ref[level].length) {
         level--;
         continue;
      };
      if (Array.isArray(ref[level][counter[level]])) {
         ref[level + 1] = ref[level][counter[level]]
         counter[level]++;
         level++;
         counter[level] = 0;
         continue;
      };
      res.push(ref[level][counter[level]]);
      counter[level]++;
   };
   return res;
};
console.log(flattenWithoutRecursion(arr));

आउटपुट

और कंसोल में आउटपुट होगा -

[
   1, 4, 5, 5, 6, 6,
   19, 5, 5, 5, 7, 6,
   6, 8, 8, 6
]

  1. जावास्क्रिप्ट array.toLocaleString () फ़ंक्शन

    JavaScript array.toLocaleString() फ़ंक्शन एक सरणी के तत्वों को एक स्ट्रिंग के रूप में लौटाता है और एक स्थानीय विशिष्ट स्ट्रिंग जैसे अल्पविराम द्वारा अलग किया जाता है। यह लोकेल को पैरामीटर के रूप में ले सकता है जो उस भाषा टैग को निर्दिष्ट करता है जिसमें स्ट्रिंग को परिवर्तित किया जाना है। array.toLo

  1. जावास्क्रिप्ट में ऐरे फाइंडइंडेक्स () फ़ंक्शन

    जावास्क्रिप्ट में फाइंडइंडेक्स () फ़ंक्शन पहले तत्व मान की अनुक्रमणिका देता है जो किसी सरणी में दी गई शर्त को पूरा करता है। सरणी खोज () फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta nam

  1. जावास्क्रिप्ट में कुछ () फ़ंक्शन को सरणी करें

    जावास्क्रिप्ट ऐरे कुछ () फ़ंक्शन जांचता है कि सरणी के कुछ तत्व दिए गए परीक्षण को पास करते हैं या नहीं। परीक्षण मूल रूप से एक फ़ंक्शन है जो सरणी के प्रत्येक तत्व के लिए चलाया जाता है। सरणी some() विधि के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना