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

जावास्क्रिप्ट में रिकर्सन के साथ उपसर्ग योग (बढ़ती राशि के साथ एक सरणी बनाना)

<घंटा/>

संख्याओं की निम्नलिखित सरणी पर विचार करें -

const arr =[10, 5, 6, 12, 7, 1];

प्रत्येक बार में एक कम तत्व लेने वाले इसके क्रमागत तत्वों का योग होगा -

<पूर्व>[10, 5, 6, 12, 7, 1] =10 + 5 + 6 + 12 + 7 + 1 =41; [5, 6, 12, 7, 1] =5 + 6 + 12 + 7 + 1 =31; [6, 12, 7, 1] =6 + 12 + 7 + 1 =26; [12, 7, 1] =12 + 7 + 1 =20; [7, 1] =7 + 1 =8;[1] =1 =1;

तो, अंतिम आउटपुट इस तरह की एक सरणी होनी चाहिए -

[ 41, 31, 26, 20, 8, 1 ]

हमें एक ऐसा फ़ंक्शन लिखने की आवश्यकता है जो इस तरह के एक सरणी में लेता है और आंशिक सम सरणी को ऊपर के उदाहरण में दिखाया गया है।

दृष्टिकोण 1:मानचित्र () और कम () का एक साथ उपयोग करना

यहां विचार सरल है, क्योंकि हमें सरणी में प्रत्येक तत्व के लिए एक विशेष तत्व वापस करने की आवश्यकता है, हम Array.prototype.map() विधि का उपयोग कर सकते हैं जो हमारे लिए बिल्कुल यही करता है।

और अगर हम विशेष सूचकांकों की तुलना करके आवश्यक तत्वों के कम योग को वापस करने के लिए मानचित्र () विधि बनाते हैं, तो हम काम पूरा कर लेंगे।

तो, यहाँ ऐसा करने के लिए कोड है -

const arr =[10, 5, 6, 12, 7, 1];const partSum =arr.map((item, index) => {रिटर्न arr.reduce((acc, val, ind) => { वापसी ind>=अनुक्रमणिका ? acc+val :acc; }, 0);});console.log(partSum);

दृष्टिकोण 2:पुनरावर्ती कार्यों का उपयोग करना

यहां हम दो पुनरावर्ती कार्यों का उपयोग करेंगे,

  • सबसे पहले sumRecursively(arr, start) है जो एरर के तत्वों का योग theindex से शुरू होकर बहुत अंत तक देता है।

  • दूसरा है partSumRecursively() जो आवश्यक योग को एक सरणी में पुनरावर्ती रूप से संयोजित करता है और जब हम सरणी के अंत तक पहुंचते हैं, तो यह संयोजित सरणी देता है।

ऐसा करने के लिए कोड होगा -

उदाहरण

const arr =[10, 5, 6, 12, 7, 1]; const sumRecursively =(arr, start =0, res =0) => { if(start  {अगर (प्रारंभ <=अंत) {वापसी partSumRecursively (arr, partSum.concat (sumRecursively) एआर, स्टार्ट)), ++ स्टार्ट, एंड); }; वापसी partSum;};console.log(partSumRecursively(arr));

आउटपुट

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

[ 41, 31, 26, 20, 8, 1 ]

  1. नए कीवर्ड के साथ जावास्क्रिप्ट सरणी बनाना।

    नए कीवर्ड के साथ JavaScript सरणी बनाने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume

  1. जावास्क्रिप्ट में राशियों को संतुलित करने के लिए सरणी अनुक्रमणिका

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

  1. जावास्क्रिप्ट में बढ़ते क्रम में सरणी को परिवर्तित करना

    बढ़ते क्रम हम एक सरणी को बढ़ते हुए परिभाषित करते हैं यदि arr[i] <=arr[i + 1] प्रत्येक i (0-आधारित) के लिए धारण करता है जैसे कि (0 <=i <=n - 2)। समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पूर्णांकों की एक सरणी लेता है, गिरफ्तारी, पहले और एकमात्र तर्क के रूप में। हमारे फ़ंक्शन को यह नि