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

JavaScript में लूप और पुनरावर्तन का उपयोग करके सरणी को समतल करना


हमें एक JavaScript सरणी फ़ंक्शन लिखना होगा जो एक नेस्टेड सरणी लेता है जिसमें false मान भी होते हैं और एक सरणी लौटाता है जिसमें सरणी में मौजूद सभी तत्व बिना किसी नेस्टिंग के होते हैं।

उदाहरण के लिए: यदि इनपुट है:

const arr = [[1, 2, 3], [4, 5, [5, false, 6, [5, 8, null]]], [6]];

तब आउटपुट होना चाहिए:

const output = [1, 2, 3, 4, 5, false, 6, 5, 8, null, 6];

इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं:

उदाहरण

इसका कोड निम्नलिखित होगा:

const arr = [[1, 2, 3], [4, 5, [5, false, 6, [5, 8, null]]], [6]];
const flatten = function(){
  let res = [];
  for(let i = 0; i < this.length; i++){
    if(Array.isArray(this[i])){
      res.push(...this[i].flatten());
    }else{
      res.push(this[i]);
    };
  };
  return res;
};
Array.prototype.flatten = flatten;
console.log(arr.flatten());

आउटपुट

कंसोल में आउटपुट होगा:

[
  1, 2, 3, 4,
  5, 5, false, 6,
  5, 8, null, 6
]

  1. - जावास्क्रिप्ट ऐरे में पहला और अंतिम एलिमेंट

    एक ऐरे एलिमेंट्स का समूह होता है। प्रत्येक एलिमेंट का अपना इंडेक्स मान होता है। हम इन इंडेक्सेस का उपयोग करके किसी भी एलिमेंट को एक्सेस कर सकते हैं। लेकिन अंतिम एलिमेंट के मामले में, हम इंडेक्स नहीं जानते जब तक हम ऐरे में मौजूद एलिमेंट्स की संख्या नहीं जानते। इस मामले में, हमें तर्क का उपयोग करना हो

  1. - जावास्क्रिप्ट का उपयोग करके ऐरे में पहला और अंतिम आइटम प्राप्त करना

    जावास्क्रिप्ट ऐरे 0-इंडेक्स्ड हैं। इसका अर्थ है कि पहला एलिमेंट 0th पोजीशन पर है। अंतिम एलिमेंट length-of-array - 1th पोजीशन पर है। इसलिए हम इन एलिमेंट्स को एक्सेस कर सकते हैं: arr[0] // पहला एलिमेंट arr[arr.length - 1] // अंतिम एलिमेंट उदाहरण के लिए, let arr = [1, test, {}, hello] console.log(arr[0

  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