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

JavaScript में अंतिम तत्व से पीछे की ओर गिनकर सरणी B को सरणी A से प्राप्त करने का सही एल्गोरिदम क्या है?


निम्नलिखित बाइनरी सरणी (सरणी A) पर विचार करें:

const arr = [1, 0, 1, 1, 1, 1, 0, 1, 1];

जब इस सरणी को फ़ंक्शन, मान लीजिए sumRight() से पास किया जाता है, तो यह निम्नलिखित आउटपुट सरणी (सरणी B) उत्पन्न करता है:

const output = [1, 0, 4, 3, 2, 1, 0, 2, 1];

फ़ंक्शन को समझना

सरणी arr में तत्व या तो 0 या 1 हो सकते हैं। फ़ंक्शन सरणी arr के अंतिम तत्व से पीछे की ओर गिनता है, यदि सरणी arr में लगातार 1 हैं तो आउटपुट सरणी में संबंधित तत्व 1 होगा लेकिन सरणी arr में दूसरे लगातार 1 के लिए यह 2 होगा। इनपुट सरणी में तीसरे 1 के लिए आउटपुट सरणी में तत्व 3 होगा, लेकिन सरणी arr में 0 के लिए यह आउटपुट सरणी में भी 0 होगा।

आइए इस फ़ंक्शन के लिए कोड लिखते हैं Array.prototype.reduceRight() मेथड का उपयोग करके, जो सामान्य reduce मेथड की तरह ही काम करता है, बस यह बाएँ के बजाय दाएँ से शुरू होता है:

उदाहरण

const arr = [1, 0, 1, 1, 1, 1, 0, 1, 1];

const sumRight = arr => {
  return arr.reduceRight((acc, val) => {
    const { prev, res } = acc;
    if (val === 0) {
      return {
        prev: 0,
        res: res.concat(0)
      };
    }
    return {
      res: res.concat(val + prev),
      prev: prev + 1
    };
  }, {
    prev: 0,
    res: []
  }).res.reverse();
};

console.log(sumRight(arr));

आउटपुट

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

[ 1, 0, 4, 3, 2, 1, 0, 2, 1 ]

  1. JavaScript - स्पैन एलिमेंट का टेक्स्ट कैसे प्राप्त करें? JavaScript - स्पैन एलिमेंट का टेक्स्ट कैसे प्राप्त करें?

    JavaScript में स्पैन एलिमेंट का टेक्स्ट प्राप्त करने के लिए, निम्न कोड का उपयोग करें: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.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>    body { &n

  1. - C# प्रोग्राम: सरणी से अंतिम तत्व प्राप्त करें

    सबसे पहले, एक सरणी सेट करें: string[] str = new string[]{ Java, HTML, jQuery, JavaScript, Bootstrap }; अंतिम तत्व का मान प्राप्त करने के लिए, लंबाई प्राप्त करें और निम्न मान प्रदर्शित करें: str[str.Length - 1] उपरोक्त अंतिम तत्व लौटाता है। यहां पूरा कोड है: उदाहरण using Sys