मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -
const arr =[ { "सप्लायरनाम":"जॉन", "श्रेणी":"ए", "अंक":3}, {"सप्लायरनाम":"जॉन", "श्रेणी":"ए", "अंक" " :11 }, { "आपूर्तिकर्ता का नाम" :"जॉन", "श्रेणी" :"ए", "अंक" :अपरिभाषित}, { "आपूर्तिकर्ता का नाम" :"जॉन", "श्रेणी" :"बी", "अंक" :2 }, { "आपूर्तिकर्ता का नाम":"जॉन", "श्रेणी" :"बी", "अंक" :6 }, { "आपूर्तिकर्ता का नाम" :"प्रवीण", "श्रेणी" :"ए", "अंक" :3 } , { "सप्लायरनाम" :"प्रवीन", "श्रेणी" :"ए", "अंक" :7 }];
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी सरणी लेता है।
फ़ंक्शन को निम्न चीज़ें करनी चाहिए -
- समूह दोहराए जाने वाले आपूर्तिकर्ताओं को एक अद्वितीय अलग वस्तु में (दोहराने से, हमारा मतलब समान "आपूर्तिकर्ता नाम" और "श्रेणी" फ़ील्ड वाली वस्तुओं से है)।
- उनके अंक एक साथ जोड़ें
- प्रत्येक वस्तु में एक नया "औसत क्षेत्र जोड़ें, जिसमें उस आपूर्तिकर्ता के औसत अंक हों।
तो, अंत में आउटपुट जैसा दिखना चाहिए -
कॉन्स्ट आउटपुट =[ { "सप्लायरनाम":"जॉन", "श्रेणी":"ए", "अंक":14, "औसत":7}, {"सप्लायरनाम":"जॉन", "श्रेणी":"बी", "अंक":8, "औसत":4}, {"सप्लायरनाम":"प्रवीन", "श्रेणी":"ए", "अंक":10, "औसत":5}];पूर्व>उदाहरण
const arr =[ { "सप्लायरनाम":"जॉन", "श्रेणी":"ए", "अंक":3}, {"सप्लायरनाम":"जॉन", "श्रेणी":"ए", "अंक" " :11 }, { "आपूर्तिकर्ता का नाम" :"जॉन", "श्रेणी" :"ए", "अंक" :अपरिभाषित}, { "आपूर्तिकर्ता का नाम" :"जॉन", "श्रेणी" :"बी", "अंक" :2 }, { "आपूर्तिकर्ता का नाम":"जॉन", "श्रेणी" :"बी", "अंक" :6 }, { "आपूर्तिकर्ता का नाम" :"प्रवीण", "श्रेणी" :"ए", "अंक" :3 } , { "आपूर्तिकर्ता नाम":"प्रवीन", "श्रेणी":"ए", "अंक":7}]; const groupAndAverage =(arr =[]) => { const group =arr.reduce((acc, obj) => { const name =obj.SupplierName + obj.Category; if (acc[name]) { if (obj.Points) (acc[name].Points +=obj.Points) &&++acc[name].औसत; } और {एसीसी [नाम] =ओबीजे; एसीसी [नाम]। औसत =1; // आइटम काउंटर के रूप में 'औसत' विशेषता लेना (पहले चरण पर)}; वापसी एसीसी; }, {}); // "अंकों का औसत" प्राप्त करना const res =Object.keys(groups).map(name => {groups[name].Average =Math.round(groups[name].Points/groups[name].Average); वापसी समूह [नाम]; }); वापसी रेस;}; कंसोल.लॉग(JSON.stringify(groupAndAverage(arr), undefined, 4));आउटपुट
और कंसोल में आउटपुट होगा -
[ { "आपूर्तिकर्ता का नाम":"जॉन", "श्रेणी":"ए", "अंक":22, "औसत":6}, { "आपूर्तिकर्ता का नाम":"प्रवीन", "श्रेणी":"ए" , "अंक":10, "औसत":5 }]