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

ऑब्जेक्ट्स के ऐरे में समान न्यूमेरिक मानों का योग करें - JavaScript


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

const arr = [
    {"firstName":"John", "value": 89},
    {"firstName":"Peter", "value": 151},
    {"firstName":"Anna", "value": 200},
    {"firstName":"Peter", "value": 22},
    {"firstName":"Anna","value": 60}
];

हमें एक JavaScript फंक्शन लिखना है जो ऐसा एक ऐरे लेता है और उन सभी ऑब्जेक्ट्स के value प्रॉपर्टी को जोड़ता है जिनके firstName प्रॉपर्टी का मान समान है।

इसलिए, उपरोक्त ऐरे के लिए, आउटपुट इस तरह दिखना चाहिए:

const output = [
    {"firstName":"John", "value": 89},
    {"firstName":"Peter", "value": 173},
    {"firstName":"Anna", "value": 260}
];

प्रत्येक ऑब्जेक्ट के लिए, हम रिकर्सिवली उनके समान ऑब्जेक्ट्स ढूंढेंगे (इस सवाल के संदर्भ में समान ऑब्जेक्ट वे हैं जिनका firstName मान समान है)। हम फिर value प्रॉपर्टी को एक ऑब्जेक्ट में जोड़ देंगे और दूसरे ऑब्जेक्ट को ऐरे से हटा देंगे। यह तब तक किया जाएगा जब तक हम ऐरे के अंत तक नहीं पहुंच जाते। अंत में पहुंचने पर, हमारा ऐरे वांछित ऐरे में रिड्यूस हो जाएगा।

उदाहरण

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

const arr = [
    {"firstName":"John", "value": 89},
    {"firstName":"Peter", "value": 151},
    {"firstName":"Anna", "value": 200},
    {"firstName":"Peter", "value": 22},
    {"firstName":"Anna","value": 60}
];
const sumSimilar = arr => {
    const res = [];
    for(let i = 0; i < arr.length; i++){
        const ind = res.findIndex(el => el.firstName === arr[i].firstName);
        if(ind === -1){
            res.push(arr[i]);
        }else{
            res[ind].value += arr[i].value;
        };
    };
    return res;
};
console.log(sumSimilar(arr));

आउटपुट

यह कंसोल में निम्नलिखिक आउटपुट देगा:

[
    { firstName: 'John', value: 89 },
    { firstName: 'Peter', value: 173 },
    { firstName: 'Anna', value: 260 }
]

  1. JavaScript array.values() मेथड JavaScript array.values() मेथड

    JavaScript array.values() एक इटरेटर ऑब्जेक्ट लौटाता है जिसमें दिए गए ऐरे के सभी मान होते हैं। उदाहरण { fillEle.innerHTML = ; for (let x of arr.values()) { fillEle.innerHTML += x + </br>; } }); </script> </body> </html> आउटपुट यहां क

  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>

  1. JavaScript में 2 ऑब्जेक्ट्स की तुलना करते हुए सरणी के नेस्टेड मान को ग्रुप करना JavaScript में 2 ऑब्जेक्ट्स की तुलना करते हुए सरणी के नेस्टेड मान को ग्रुप करना

    मान लीजिए हमारे पास निम्नलिखित JSON ऑब्जेक्ट है: const input = { before: { device: [ { id: 1234, price: 10, features: [ { name: samsung, price: 10 }, { name: Apple, price: 20 } ] }, { id: 2154, price: 20,