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

JavaScript में मिलते-जुलते ऑब्जेक्ट मानों को जोड़ना


मान लीजिए, हमारे पास ऑब्जेक्ट्स की एक सरणी है जैसे:

const arr = [{a: 2, b: 5, c: 6}, {a:3, b: 4, d:1},{a: 1, d: 2}];

प्रत्येक ऑब्जेक्ट अपने आप में अद्वितीय कुंजियाँ रखने के लिए बाध्य है (वैध ऑब्जेक्ट होने के लिए), लेकिन दो अलग-अलग ऑब्जेक्ट्स में सामान्य कुंजियाँ हो सकती हैं (इस प्रश्न के उद्देश्य के लिए)।

हमें एक JavaScript फ़ंक्शन लिखना होगा जो ऐसी एक सरणी लेता है और सरणी में मौजूद सभी अद्वितीय कुंजियों और उनके मानों के संचयी योग के साथ एक ऑब्जेक्ट लौटाता है।

तो, परिणामी ऑब्जेक्ट इस तरह दिखना चाहिए:

const output = {a: 6, b: 9, c: 6, d: 3};

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

उदाहरण

इसका कोड निम्नलिखित होगा:

const arr = [{a: 2, b: 5, c: 6}, {a: 3, b: 4, d:1}, {a: 1, d: 2}];
const sumArray = arr => {
  const res = {};
  for(let i = 0; i < arr.length; i++){
    Object.keys(arr[i]).forEach(key => {
      res[key] = (res[key] || 0) + arr[i][key];
    });
  };
  return res;
};
console.log(sumArray(arr));

आउटपुट

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

{ a: 6, b: 9, c: 6, d: 3 }

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

    WeakMap ऑब्जेक्ट में एलिमेंट्स की-वैल्यू पेयर के रूप में होते हैं जहां की एक ऑब्जेक्ट होनी चाहिए और वैल्यू कोई भी प्रिमिटिव वैल्यू या ऑब्जेक्ट हो सकती है। जिन ऑब्जेक्ट्स को WeakMap में की के रूप में उपयोग किया जाता है, वे गार्बेज कलेक्ट हो जाते हैं यदि उनका कोई रेफरेंस नहीं होता। जावास्क्रिप्ट में

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

    Map ऑब्जेक्ट को ES6 में पेश किया गया था और यह एलिमेंट्स का एक संग्रह है जो की और वैल्यू पेयर होते हैं। एक मैप में की या वैल्यू एक ऑब्जेक्ट या प्रिमिटिव वैल्यू हो सकती है। जावास्क्रिप्ट में मैप ऑब्जेक्ट के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta

  1. JavaScript में Blob ऑब्जेक्ट JavaScript में Blob ऑब्जेक्ट

    Blob ऑब्जेक्ट एक अपरिवर्तनीय (immutable) ऑब्जेक्ट को दर्शाता है जिसका उपयोग कच्चे डेटा (raw data) को प्रस्तुत करने के लिए किया जाता है। Blob में size और mime type प्रॉपर्टी होती हैं, ठीक वैसे ही जैसे किसी फाइल में होती हैं। File, Blob से व्युत्पन्न (derived) है और Blob का उपयोग उन स्थानों पर किया जा