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

जावास्क्रिप्ट में सरणी मानों को समूहीकृत करना

<घंटा/>

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

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 } ] }]

  1. जावास्क्रिप्ट सरणी। मान ()

    JavaScript array.values() एक इटरेटर ऑब्जेक्ट लौटाता है जिसमें किसी दिए गए सरणी के सभी मान होते हैं। array.values() फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport"

  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" /> &l