मान लीजिए कि हमारे पास कुछ वर्षों और हफ्तों के डेटा वाली वस्तुओं की एक सरणी है -
const arr =[ {वर्ष:2017, सप्ताह:45}, {वर्ष:2017, सप्ताह:46}, {वर्ष:2017, सप्ताह:47}, {वर्ष:2017, सप्ताह:48}, {वर्ष:2017, सप्ताह:50}, {वर्ष:2017, सप्ताह:52}, {वर्ष:2018, सप्ताह:1}, {वर्ष:2018, सप्ताह:2}, {वर्ष:2018, सप्ताह:5}];पूर्व>हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी एक सरणी लेता है। फ़ंक्शन को एक नई सरणी वापस करनी चाहिए जहां "वर्ष" संपत्ति के लिए सामान्य मूल्य वाले सभी ऑब्जेक्ट्स को एक अलग ऑब्जेक्ट में समूहीकृत किया जाता है।
इसलिए, उपरोक्त सरणी के लिए आउटपुट ऑब्जेक्ट इस तरह दिखना चाहिए -
[ { 2017:[{सप्ताह:45, सप्ताह:46, सप्ताह:47, सप्ताह:48, सप्ताह:50, सप्ताह:53}, { 2018:[{सप्ताह:1, सप्ताह:2, सप्ताह:5 }]]उदाहरण
इसके लिए कोड होगा -
const arr =[ {वर्ष:2017, सप्ताह:45}, {वर्ष:2017, सप्ताह:46}, {वर्ष:2017, सप्ताह:47}, {वर्ष:2017, सप्ताह:48}, {वर्ष:2017, सप्ताह:50}, {वर्ष:2017, सप्ताह:52}, {वर्ष:2018, सप्ताह:1}, {वर्ष:2018, सप्ताह:2}, {वर्ष:2018, सप्ताह:5}]; const groupByYear =एआर => {कॉन्स्ट रेस =[]; कॉन्स्ट मैप ={}; arr.forEach(item => {const temp ={}; if (!map[item.year]) { map[item.year] =[]; temp[item.year] =map[item.year]; res पुश (अस्थायी); }; नक्शा [आइटम। वर्ष]। पुश ({मान:आइटम। सप्ताह}); }); वापसी रेस;};कंसोल.लॉग(JSON.stringify(groupByYear(arr), undefined, 4));आउटपुट
कंसोल में आउटपुट -
[ { "2017":[ { "value":45 }, {"value":46}, { "value":47 }, { "value":48 }, { "value":50}, { "मान":52 } ] }, { "2018":[ { "मान":1 }, { "मान":2 }, { "मान":5 } ] }]