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

जावास्क्रिप्ट में वस्तुओं की नई सरणी में सरणी वस्तु गुण मानों का योग

<घंटा/>

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

const arr =[{विषय:'गणित', अंक:'40', noOfStudents:'5'}, {विषय:'विज्ञान', अंक:'50', noOfStudents:'16'}, { विषय:'इतिहास', अंक:'35', कोई छात्र नहीं:'23'}, {विषय:'विज्ञान', अंक:'65', कोई छात्र नहीं:'2'}, {विषय:'गणित', अंक:'30', noOfStudents:'12'}, {विषय:'इतिहास', अंक:'55', noOfStudents:'20'},];

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

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

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

const आउटपुट =[{विषय:'गणित', अंक:'70', noOfStudents:'17'}, {विषय:'विज्ञान', अंक:'115', noOfStudents:'18'}, {विषय:'इतिहास', निशान:'95', noOfStudents:'43' },];

उदाहरण

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

const arr =[{विषय:'गणित', अंक:'40', noOfStudents:'5'}, {विषय:'विज्ञान', अंक:'50', noOfStudents:'16'}, { विषय:'इतिहास', अंक:'35', कोई छात्र नहीं:'23'}, {विषय:'विज्ञान', अंक:'65', कोई छात्र नहीं:'2'}, {विषय:'गणित', अंक:'30', noOfStudents:'12'}, {विषय:'इतिहास', अंक:'55', noOfStudents:'20'},];const groupBySubject =(arr =[]) => { const map ={}; लेट रेस =[]; res =arr.reduce((acc, val) => {const {विषय, अंक, noOfStudents} =वैल; const {लंबाई:l} =acc; if(map.hasOwnProperty(subject)){ acc[map[subject] ['अंक'] =+ अंक; एसीसी [मानचित्र [विषय]] ['नोऑफ स्टूडेंट्स'] =+ नोऑफ स्टूडेंट्स; } अन्य {मानचित्र [विषय] =एल; एसीसी पुश ({विषय:विषय, अंक:+ अंक, noOfStudents:+noOfStudents }); }; वापसी एसीसी; }, []); वापसी res;};कंसोल.लॉग(groupBySubject(arr));

आउटपुट

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

[ { विषय:'गणित', अंक:30, नोऑफ़स्टूडेंट्स:12}, {विषय:'विज्ञान', अंक:65, नोऑफ़स्टूडेंट्स:2}, {विषय:'इतिहास', अंक:55, नोऑफ़स्टूडेंट्स:20 }] 
  1. जावास्क्रिप्ट का उपयोग करके ऐरे में नेस्टेड ऑब्जेक्ट मानों का योग

    जावास्क्रिप्ट का उपयोग करके नेस्टेड ऑब्जेक्ट मानों को सरणी में जोड़ने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0&

  1. जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में फ़ॉर्मेट करना

    जावास्क्रिप्ट ऑब्जेक्ट को नए ऐरे में प्रारूपित करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <ti

  1. जावास्क्रिप्ट में ऑब्जेक्ट प्रॉपर्टी नाम की सरणी को बदलना

    जावास्क्रिप्ट में ऑब्जेक्ट प्रॉपर्टी नाम की सरणी को बदलने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />