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

जावास्क्रिप्ट में गैर-ऋणात्मक सेट घटाव


हमारे पास पूर्णांकों का एक सेट है, और एक मान जिसे हमें सेट के योग से घटाना है। जैसे यहां,

[4, 5, 6, 7, 8] - 25

यदि हम हर संख्या से समान रूप से घटाते हैं, तो हमें मिलेगा -

[-1, 0, 1, 2, 3]

हालांकि, हम 0 से कम कोई संख्या नहीं चाहते। इसलिए, यदि हम ऐसा एल्गोरिदम लिख रहे होते, तो ऋणात्मक संख्याएं शेष संख्याओं में समान रूप से ओवरफ्लो होतीं, और अब हमारे पास होता -

[0, 0, 1, 2, 3] - 1

परिणामी सेट बनता -

[0, 0, 1 - 0.333, 2 - 0.333, 3 - 0.333]

ध्यान दें कि यह वही परिणाम है जो हम चाहते हैं। सभी ऋणात्मक मान शेष धनात्मक मानों में समान रूप से ओवरफ्लो होते हैं।

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहली तर्क के रूप में संख्याओं की एक सरणी और दूसरी तर्क के रूप में एक योग संख्या लेता है। फ़ंक्शन को फिर समान रूप से घटाई गई और वितरित सरणी की गणना करके लौटानी चाहिए।

उदाहरण

इसके लिए कोड होगा -

const arr = [4, 5, 6, 7, 8]; 
const subtract = (arr, sum) => { 
  return arr.map((el, index, array) => { 
    const rem = array.length - index; 
    const avg = sum / rem; 
    const toSubtract = Math.min(avg, el); 
    sum -= toSubtract; 
    return el - toSubtract; 
  }); 
}; 
console.log(subtract(arr, 25));

आउटपुट

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

[ 0, 0, 0.666666666666667, 1.666666666666666, 2.666666666666666 ]
  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>   &nb

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

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

  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 { &nb