मान लीजिए कि हमारे पास इस तरह की संख्याओं की एक सरणी है -
const arr =[[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]];
प्रत्येक उपसरणी में सख्ती से दो तत्व होने के लिए बाध्य है। हमें एक ऐसा फंक्शन लिखना होता है जो एक नई एरे का निर्माण करता है, जहां सबएरे के सभी दूसरे एलिमेंट जिनका पहला मान समान होता है, एक साथ ग्रुप किए जाते हैं।
इसलिए, उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए -
const आउटपुट =[ [45, 34, 49], [34, 67], [78, 65]];
हम Array.prototype.reduce() विधि का उपयोग कर सकते हैं जो आवश्यक सरणी बनाने के लिए मानचित्र () की मदद लेती है।
उदाहरण
निम्नलिखित कोड है -
const arr =[[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]]; कॉन्स कंस्ट्रक्शनसिमिलरअरे =(एआर =[]) => {कॉन्स्ट क्रेडिट्स =एआर। रिड्यूस ((एसीसी, वैल) => {कॉन्स्ट {मैप, रेस} =एसीसी; अगर (! मैप। हैस (वैल [0])) { map.set(val[0], res.push([val[1]]) - 1); }else{ Res[map.get(val[0])].push(val[1]); }; वापसी {नक्शा, रेस}; }, {नक्शा:नया नक्शा (), रेस:[]}); वापसी साख।आउटपुट
यह कंसोल में निम्न आउटपुट उत्पन्न करेगा -
[ [ 45, 34, 49], [34, 67], [78, 65] ]