मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -
const arr =[{ क्षेत्र:"अफ्रीका", फल:"ऑरेंज", उपयोगकर्ता:"गैरी"}, {क्षेत्र:"अफ्रीका", फल:"Apple", उपयोगकर्ता:"स्टीव"}, { क्षेत्र:"यूरोप", फल:"ऑरेंज", उपयोगकर्ता:"जॉन"}, {क्षेत्र:"यूरोप", फल:"ऐप्पल", उपयोगकर्ता:"बॉब"}, {क्षेत्र:"एशिया", फल:"ऑरेंज", उपयोगकर्ता:"इयान"}, { क्षेत्र:"एशिया", फल:"ऐप्पल", उपयोगकर्ता:"एंजेलो"}, { क्षेत्र:"अफ्रीका", फल:"ऑरेंज", उपयोगकर्ता:"गैरी"}];पूर्व>हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी एक सरणी लेता है। फ़ंक्शन को वस्तुओं की एक नई सरणी तैयार करनी चाहिए जो वस्तुओं के "क्षेत्र" संपत्ति के आधार पर डेटा को समूहित करती है।
फ़ंक्शन को किसी विशेष क्षेत्र के लिए अद्वितीय उपयोगकर्ताओं की गिनती भी रखनी चाहिए।
इसलिए, उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -
const आउटपुट =[{"क्षेत्र":"अफ्रीका", "गिनती":2}, { "क्षेत्र":"यूरोप", "गिनती":2}, { "क्षेत्र":"एशिया", "गिनती" ":2 }];उदाहरण
इसके लिए कोड होगा -
const arr =[{ क्षेत्र:"अफ्रीका", फल:"ऑरेंज", उपयोगकर्ता:"गैरी"}, {क्षेत्र:"अफ्रीका", फल:"Apple", उपयोगकर्ता:"स्टीव"}, { क्षेत्र:"यूरोप", फल:"ऑरेंज", उपयोगकर्ता:"जॉन"}, {क्षेत्र:"यूरोप", फल:"ऐप्पल", उपयोगकर्ता:"बॉब"}, {क्षेत्र:"एशिया", फल:"ऑरेंज", उपयोगकर्ता:"इयान"}, {क्षेत्र:"एशिया", फल:"ऐप्पल", उपयोगकर्ता:"एंजेलो"}, {क्षेत्र:"अफ्रीका", फल:"ऑरेंज", उपयोगकर्ता:"गैरी"}]; कॉन्स्ट ग्रुप बायएरिया =(गिरफ्तारी =[]) => { const res =[]; arr.forEach(el => { let key =[el.region, el.user].join('|'); if (!this[el.region]) { यह [el.region] ={ क्षेत्र:el क्षेत्र, गिनती:0}; res.push (यह [el.region]); }; अगर (! यह [कुंजी]) {यह [कुंजी] =सच; यह [el. क्षेत्र]। गिनती ++; }; } , ऑब्जेक्ट.क्रिएट (नल)); वापसी res;}console.log(groupByArea(arr));आउटपुट
और कंसोल में आउटपुट होगा -
[ { क्षेत्र:'अफ्रीका', गिनती:2 }, { क्षेत्र:'यूरोप', गिनती:2 }, { क्षेत्र:'एशिया', गिनती:2 }]