मान लीजिए हमारे पास सरणी की एक सरणी है जिसमें कुछ छात्रों के कुछ विषयों में अंक हैं जैसे -
const arr = [
["English", 52],
["Hindi", 154],
["Hindi", 241],
["Spanish", 10],
["French", 65],
["German", 98],
["Russian", 10]
];
हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी एक सरणी लेता है और ऑब्जेक्ट का एक ऑब्जेक्ट लौटाता है।
रिटर्न ऑब्जेक्ट में प्रत्येक अद्वितीय विषय के लिए एक ऑब्जेक्ट होना चाहिए, और उस ऑब्जेक्ट में उस भाषा की उपस्थिति की संख्या, कुल अंकों का योग और औसत जैसी जानकारी होनी चाहिए।
उदाहरण
इसके लिए कोड होगा -
const arr = [
["English", 52],
["Hindi", 154],
["Hindi", 241],
["Spanish", 10],
["French", 65],
["German", 98],
["Russian", 10]
];
const groupSubjects = arr => {
const grouped = arr.reduce((acc, val) => {
const [key, total] = val;
if(!acc.hasOwnProperty(key)){
acc[key] = {
'count': 0,
'total': 0
};
};
const accuKey = acc[key];
accuKey['count']++;
accuKey['total'] += total;
accuKey['average'] = total / accuKey['count'];
return acc;
}, {});
return grouped;
};
console.log(groupSubjects(arr));
आउटपुट
कंसोल में आउटपुट होगा -
{
English: { count: 1, total: 52, average: 52 },
Hindi: { count: 2, total: 395, average: 120.5 },
Spanish: { count: 1, total: 10, average: 10 },
French: { count: 1, total: 65, average: 65 },
German: { count: 1, total: 98, average: 98 },
Russian: { count: 1, total: 10, average: 10 }
}