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

JavaScript ऐरे में दोहराई गई वैल्यू का योग


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

const arr = [ {'TR-01':1}, {'TR-02':3}, {'TR-01':3}, {'TR-02':5}];

हमें एक JavaScript फंक्शन लिखना है जो ऐसा ऐरे लेता है और सभी समान कीज़ की वैल्यू को एक साथ जोड़ता है।

इसलिए, योग किया गया ऐरा ऐसा दिखना चाहिए:

const output = [ {'TR-01':4}, {'TR-02':8}];

उदाहरण

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

const arr = [ {'TR-01':1}, {'TR-02':3}, {'TR-01':3}, {'TR-02':5}];
const sumDuplicate = arr => {
    const map = {};
    for(let i = 0; i < arr.length; ){
        const key = Object.keys(arr[i])[0];
        if(!map.hasOwnProperty(key)){
            map[key] = i++;
            continue;
        };
        arr[map[key]][key] += arr[i][key];
        arr.splice(i, 1);
    };
};
sumDuplicate(arr);
console.log(arr);

आउटपुट

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

[ { 'TR-01': 4 }, { 'TR-02': 8 } ]

  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

  1. JavaScript में (+) ऑपरेटर जोड़ के बजाय कन्कैटिनेशन क्यों करता है? JavaScript में (+) ऑपरेटर जोड़ के बजाय कन्कैटिनेशन क्यों करता है?

    JavaScript में + ऑपरेटर स्ट्रिंग्स के साथ कन्कैटिनेशन करता है। इनपुट फ़ील्ड से मिलने वाले मान स्ट्रिंग होते हैं, इसलिए उन्हें संख्या में बदलने के लिए parseInt(), parseFloat(), Number() या यूनरी + ऑपरेटर का उपयोग करें। समस्या 5 + 3 // 53 (स्ट्रिंग कन्कैटिनेशन) 5 + 3 // 8 (संख्या जोड़) समाधान //