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

सरणियों की सरणी को एक साथ समूहीकृत वस्तुओं की सरणी में बदलें JavaScript

<घंटा/>

मान लें, हमारे पास एक द्वि-आयामी सरणी है जिसमें कुछ रंगों और इस तरह के फलों के बारे में डेटा है

कॉन्स डेटा =[ ['नारंगी', 'फल'], ['लाल', 'रंग'], ['हरा', 'रंग'], ['नारंगी', 'रंग'], ['केला' ', 'फल'], ['नीला', 'रंग'], ['नींबू', 'फल'], ['आम', 'फल'], ['नींबू', 'रंग'],]; 

हमें एक फ़ंक्शन लिखना है जो इस सरणी में लेता है और एक सरणी देता है जिसमें विभिन्न फलों और रंगों को उनकी श्रेणियों द्वारा समूहीकृत किया जाता है।

जैसे इस उदाहरण में हमारे पास केवल दो श्रेणियां हैं, अर्थात् 'फल' और 'रंग', इसलिए हमें इस तरह के आउटपुट में दो वस्तुओं की एक सरणी की अपेक्षा करनी चाहिए -

[ { समूह:'फल', मान:['नारंगी', 'केला', 'नींबू', 'आम'] }, {समूह:'रंग', मान:[ 'लाल', 'हरा', 'नारंगी', 'नीला', 'नींबू'] }]

नोट - इस उदाहरण में हमारे पास केवल दो श्रेणियां हैं लेकिन हमें एक ऐसा समाधान लिखने की आवश्यकता है जो केवल दो श्रेणियों के लिए नहीं बल्कि एक गतिशील संख्या के लिए काम करे।

तो आइए जानते हैं इस समस्या का समाधान। हम Array.prototype.reduce() विधि का उपयोग करेंगे और प्रत्येक उपसरणी के लिए हम जांच करेंगे कि हमारे पास कोई मौजूदा समूह है या नहीं। यदि समूह मौजूद है, तो हम नए मान को उसके मूल्य गुण में धकेलते हैं अन्यथा हम उस समूह के लिए एक नई वस्तु बनाते हैं और उसे सरणी में धकेल देते हैं।

उदाहरण

कॉन्स डेटा =[ ['नारंगी', 'फल'], ['लाल', 'रंग'], ['हरा', 'रंग'], ['नारंगी', 'रंग'], ['केला' ', 'फल'], ['नीला', 'रंग'], ['नींबू', 'फल'], ['आम', 'फल'], ['नींबू', 'रंग'],]; groupData =arr => {वापसी arr.reduce ((acc, val) => { const [value, groupName] =val; const groupIndex =acc.findIndex (el => el?.group ===groupName); अगर ( groupIndex !==-1){ acc[groupIndex].value.push(value); }else{ acc.push({group:groupName, value:[value] }); } वापसी एसीसी; }, []); };console.log(groupData(data));

आउटपुट

कंसोल में आउटपुट होगा -

[ { समूह:'फल', मान:['नारंगी', 'केला', 'नींबू', 'आम'] }, {समूह:'रंग', मान:[ 'लाल', 'हरा', 'नारंगी', 'नीला', 'नींबू'] }]

  1. जावास्क्रिप्ट में ऐरे को सेट में कैसे बदलें?

    अरे को JavaScript में सेट करने के लिए कनवर्ट करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <titl

  1. जावास्क्रिप्ट में आईडी द्वारा वस्तुओं की सरणी कैसे समूहित करें?

    जावास्क्रिप्ट में आईडी के आधार पर वस्तुओं के समूह के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <titl

  1. हम जावास्क्रिप्ट में वस्तुओं वाले सरणियों की सरणी के माध्यम से कैसे लूप करते हैं?

    जावास्क्रिप्ट में ऑब्जेक्ट्स वाले सरणियों की सरणी के माध्यम से लूप करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.