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

JavaScript में सरणी को समतल करना


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

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

// यदि इनपुट है:
const arr = [[1, 2, 3], [4, 5], [6]];
// तो आउटपुट होना चाहिए:
const output = [1, 2, 3, 4, 5, 6];

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

विधि 1: पुनरावृत्ति का उपयोग करके

यहाँ हम मूल नेस्टेड सरणी पर लूप करेंगे और नेस्टेड तत्वों को पुनरावर्ती रूप से एक नई सरणी में डालेंगे।

उदाहरण

const arr = [[1, 2, 3], [4, 5], [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());

विधि 2: Array.prototype.reduce() का उपयोग करके

यहाँ हम reduce() मेथड का उपयोग करके एक नई सरणी का निर्माण करेंगे:

उदाहरण

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

const flatten = function() {
  return this.reduce((acc, val) => {
    return acc.concat(...val);
  }, []);
};

Array.prototype.flatten = flatten;
console.log(arr.flatten());

आउटपुट

दोनों विधियों के लिए कंसोल आउटपुट होगा:

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

  1. JavaScript Array.shift(): पहला तत्व हटाएं JavaScript Array.shift(): पहला तत्व हटाएं

    Array.prototype.shift() मेथड एरे से पहला तत्व हटाता है, उस तत्व को लौटाता है, और शेष सभी तत्वों के इंडेक्स को 1 से घटा देता है। यह एरे की लंबाई बदल देता है। उदाहरण { const removed = arr.shift(); fillEle.innerHTML = `हटाया गया: ${removed}<br>शेष: ` + arr.join(, ); });

  1. JavaScript Array.reverse(): एरे को उल्टा करें JavaScript Array.reverse(): एरे को उल्टा करें

    Array.prototype.reverse() मेथड एरे के तत्वों के क्रम को स्थानांतरित (in-place) उलट देता है। पहला तत्व अंतिम बन जाता है और अंतिम पहला। यह मूल एरे को बदल देता है और उसी एरे का संदर्भ लौटाता है। उदाहरण { arr.reverse(); fillEle.innerHTML = उल्टा: + arr.join(, ); }); </scrip

  1. जावास्क्रिप्ट में ऐरे डीस्ट्रक्चरिंग जावास्क्रिप्ट में ऐरे डीस्ट्रक्चरिंग

    परिचय डीस्ट्रक्चरिंग असाइनमेंट (ES2015) ऐरे से मानों को अलग-अलग वेरिएबल्स में अनपैक करने का एक संक्षिप्त सिंटैक्स है। यह पठनीयता में सुधार करता है और मैन्युअल इंडेक्स एक्सेस की आवश्यकता को कम करता है। उदाहरण निम्न कोड जावास्क्रिप्ट में ऐरे डीस्ट्रक्चरिंग के लिए है: <!DOCTYPE html> <html