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

JavaScript में ऑब्जेक्ट की नई सरणी में सरणी ऑब्जेक्ट प्रॉपर्टी मानों का योग


मान लीजिए हमारे पास ऑब्जेक्ट की एक सरणी है जिसमें कुछ छात्रों और उनके अंकों के बारे में डेटा है जैसे -

const arr = [
    { subject: 'Maths', marks: '40', noOfStudents: '5' },
    { subject: 'Science', marks: '50', noOfStudents: '16' },
    { subject: 'History', marks: '35', noOfStudents: '23' },
    { subject: 'Science', marks: '65', noOfStudents: '2' },
    { subject: 'Maths', marks: '30', noOfStudents: '12' },
    { subject: 'History', marks: '55', noOfStudents: '20' },
];

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी एक सरणी लेता है।

फ़ंक्शन को ऑब्जेक्ट के 'subject' प्रॉपर्टी के आधार पर अनावश्यक प्रविष्टियों को समाप्त करना चाहिए। इसके अलावा, फ़ंक्शन को उस एकल ऑब्जेक्ट में एक अद्वितीय ऑब्जेक्ट के लिए सभी अंकों और छात्रों की संख्या को जोड़ना चाहिए।

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

const output = [
    { subject: 'Maths', marks: '70', noOfStudents: '17' },
    { subject: 'Science', marks: '115', noOfStudents: '18' },
    { subject: 'History', marks: '95', noOfStudents: '43' },
];

उदाहरण

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

const arr = [
    { subject: 'Maths', marks: '40', noOfStudents: '5' },
    { subject: 'Science', marks: '50', noOfStudents: '16' },
    { subject: 'History', marks: '35', noOfStudents: '23' },
    { subject: 'Science', marks: '65', noOfStudents: '2' },
    { subject: 'Maths', marks: '30', noOfStudents: '12' },
    { subject: 'History', marks: '55', noOfStudents: '20' },
];
const groupBySubject = (arr = []) => {
    const map = {};
    let res = [];
    res = arr.reduce((acc, val) => {
        const { subject, marks, noOfStudents } = val;
        const { length: l } = acc;
        if(map.hasOwnProperty(subject)){
            acc[map[subject]]['marks'] = +marks;
            acc[map[subject]]['noOfStudents'] = +noOfStudents;
        }
        else{
            map[subject] = l;
            acc.push({
                subject: subject,
                marks: +marks,
                noOfStudents: +noOfStudents
            });
        };
        return acc;
    }, []);
    return res;
};
console.log(groupBySubject(arr));

आउटपुट

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

[
    { subject: 'Maths', marks: 30, noOfStudents: 12 },
    { subject: 'Science', marks: 65, noOfStudents: 2 },
    { subject: 'History', marks: 55, noOfStudents: 20 }
]
  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. जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में फ़ॉर्मेट करना जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में फ़ॉर्मेट करना

    जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में फ़ॉर्मेट करने का कोड निम्नलिखित है - उदाहरण <!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>  

  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>