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

JavaScript में तत्वों के आधार पर सरणी की सरणी को समूहित करना


मान लीजिए, हमारे पास संख्याओं की सरणियों की एक सरणी है जैसे:

const arr = [[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]];

प्रत्येक उपसरणी में सख्ती से दो तत्व होने तय हैं। हमें एक फ़ंक्शन लिखना आवश्यक है जो एक नई सरणी बनाता है जहां उन उपसरणियों के सभी दूसरे तत्व जिनका पहला मान समान है, एक साथ समूहित होते हैं।

तो, उपरोक्त सरणी के लिए, आउटपुट इस तरह दिखना चाहिए:

const output = [
  [45, 34, 49],
  [34, 67],
  [78, 65]
];

हम Array.prototype.reduce() विधि का उपयोग कर सकते हैं जो आवश्यक सरणी बनाने के लिए Map() की मदद लेती है।

इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं:

उदाहरण

इसका कोड निम्नलिखित होगा:

const arr = [[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]];
const constructSimilarArray = (arr = []) => {
  const creds = arr.reduce((acc, val) => {
    const { map, res } = acc;
    if(!map.has(val[0])){
      map.set(val[0], res.push([val[1]]) - 1);
    }else{
      res[map.get(val[0])].push(val[1]);
    };
    return { map, res };
  }, {
    map: new Map(),
    res: []
  });
  return creds.res;
};
console.log(constructSimilarArray(arr));

आउटपुट

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

[ [ 45, 34, 49 ], [ 34, 67 ], [ 78, 65 ] ]

  1. JavaScript DOM क्या है? - पूर्ण गाइड JavaScript DOM क्या है? - पूर्ण गाइड

    JavaScript डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM) एक वेबपेज के HTML एलिमेंट्स का प्रतिनिधित्व है। यह एक इंटरफेस है जिसका उपयोग हम वेब पेज को उसकी सामग्री या शैली को बदलकर मैनिपुलेट करने के लिए कर सकते हैं। हम किसी वेबपेज पर राइट क्लिक करके और inspect चुनकर DOM को एक्सेस कर सकते हैं। ऐसा करने से, एक सेक्शन

  1. - JavaScript में _.initial() फंक्शन का महत्व

    _.initial() _.initial() underscore.js में एक फंक्शन है, जो JavaScript की एक लाइब्रेरी है। यह मेथड ऐरे के अंतिम एलिमेंट को शेष एलिमेंट्स से अलग करने के लिए उपयोग किया जाता है। यह मेथड ऐरे के अंतिम मान को अनदेखा कर देता है। सिंटैक्स _.initial( array, n ); _.initial() 2 पैरामीटर ले सकता है। array - मे

  1. जावास्क्रिप्ट में ऐरे के एलिमेंट्स को उसी ऐरे में डुप्लिकेट कैसे करें? जावास्क्रिप्ट में ऐरे के एलिमेंट्स को उसी ऐरे में डुप्लिकेट कैसे करें?

    ऐरे के एलिमेंट्स को उसी ऐरे में डुप्लिकेट करने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 > <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style>