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

जावास्क्रिप्ट में दो सरणियों को संतुलित करना

<घंटा/>

समस्या

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और दूसरे तर्क के रूप में संख्याओं के दो सरणियों, arr1 और arr2 को लेता है।

arr1 और arr2 में तत्वों का योग भिन्न होता है। हमारे फ़ंक्शन को पहली सरणी से एक तत्व चुनना चाहिए और इसे दूसरी सरणी में धक्का देना चाहिए और दूसरे सरणी से एक तत्व चुनना चाहिए और इसे पहले सरणी में धक्का देना चाहिए ताकि दोनों सरणी के तत्वों का योग बराबर हो जाए। हमें इन दो तत्वों की एक सरणी वापस करनी चाहिए।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है

इनपुट

const arr1 = [1, 2, 5];
const arr2 = [2, 4];

आउटपुट

const output = [5, 4];

आउटपुट स्पष्टीकरण

क्योंकि अगर हम arr1 से 5 हटाते हैं और इसे arr2 पर धकेलते हैं और arr2 से 4 हटाते हैं और इसे arr1 पर धकेलते हैं तो दोनों सरणियों का योग बराबर (7) होगा।

निम्नलिखित कोड है:

उदाहरण

const arr1 = [1, 2, 5];
const arr2 = [2, 4];
const balanceArrays = (arr1 = [], arr2 = []) => {
   const sumA = arr1.reduce((acc, v) => acc + v, 0)
   const sumB = arr2.reduce((acc, v) => acc + v, 0)
   const difference = (sumA + sumB) / 2 - sumA
   const map = arr2.reduce((acc, v) => {
      acc[v] = true
      return acc
   }, {})
   for(let i = 0; i < arr1.length; i++) {
      if(map[arr1[i] + difference] === true) {
         return [arr1[i], arr1[i] + difference]
      }
   }
   return []
};
console.log(balanceArrays(arr1, arr2));

आउटपुट

[5, 4]

  1. जावास्क्रिप्ट में सरणी बनाम सेट।

    सेट डेटा प्रकार को ES2015 में पेश किया गया था और सरणी और सेट के बीच का अंतर यह है कि एक सरणी में डुप्लिकेट मान हो सकते हैं, जबकि एक सेट नहीं कर सकता। तत्वों को इंडेक्स का उपयोग करके सरणी में एक्सेस किया जा सकता है जो सेट में संभव नहीं है क्योंकि यह कुंजियों का उपयोग करता है और तत्वों को केवल उसी तरह

  1. जावास्क्रिप्ट में दो सरणियों में कैसे शामिल हों?

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

  1. जावास्क्रिप्ट में दो ऐरे कैसे गुणा करें?

    जावास्क्रिप्ट में दो सरणियों को गुणा करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Doc