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

JavaScript में गहरी नेस्टेड सरणी को फ्लैट करना (Flattening)


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

उदाहरण के लिए -

यदि इनपुट सरणी है -

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

तो आउटपुट सरणी होनी चाहिए -

const output = [1, 3, 5, 6, 7, 6, 5, 4, 3, 4];

उदाहरण

निम्नलिखित कोड देखें:

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

const flattenArray = (arr = []) => {
  const res = [];
  for (let i = 0; i < arr.length; i++) {
    const el = arr[i];
    if (Array.isArray(el)) {
      res.push(...flattenArray(el));
    } else {
      res.push(el);
    };
  };
  return res;
};

console.log(flattenArray(arr));

आउटपुट

कंसोल पर निम्नलिखित आउटपुट प्राप्त होगा:

[
  1, 3, 5, 6, 7,
  6, 5, 4, 3, 4
]

  1. जावास्क्रिप्ट Array.isArray() मेथड जावास्क्रिप्ट Array.isArray() मेथड

    जावास्क्रिप्ट का Array.isArray() मेथड यह निर्धारित करने के लिए उपयोग किया जाता है कि कोई ऑब्जेक्ट एरे है या नहीं। सिंटैक्स इस प्रकार है: Array.isArray(obj) ऊपर, obj पैरामीटर टेस्ट किया जाने वाला ऑब्जेक्ट है। उदाहरण 1 <!DOCTYPE html> <html> <body> <h2>रैंकिंग पॉइंट्स</

  1. जावास्क्रिप्ट array.flatMap() मेथड जावास्क्रिप्ट array.flatMap() मेथड

    जावास्क्रिप्ट का array.flatMap() मेथड इनपुट एरे एलिमेंट को एक नए एरे में फ्लैट करने के लिए उपयोग किया जाता है। यह पहले प्रत्येक एलिमेंट को मैप फंक्शन का उपयोग करके मैप करता है और फिर परिणाम को एक लेवल तक फ्लैट करता है। सिंटैक्स इस प्रकार है: array.flatMap(function callback(currentValue, index, arra

  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>