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

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

<घंटा/>

मान लीजिए, हमारे पास स्ट्रिंग / संख्या अक्षर की एक सरणी है जिसमें कुछ डुप्लिकेट मान शामिल हैं -

const array = ['day', 'night', 'afternoon', 'night', 'noon', 'night', 'noon', 'day', 'afternoon', 'day', 'night'];

हमें एक फ़ंक्शन groupSilar() लिखने की आवश्यकता है जो इस सरणी में लेता है और एक नया सरणी देता है जहां सभी दोहराई जाने वाली प्रविष्टियां पहले तत्व के रूप में एक उप-सरणी में समूह होती हैं और मूल सरणी में उनकी कुल गणना दूसरे तत्व के रूप में होती है।

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

[
   [ 'day', 3 ],
   [ 'night', 4 ],
   [ 'afternoon', 2 ],
   [ 'noon', 2 ]
]

आइए इस फ़ंक्शन के लिए कोड लिखें। हम एक नया, आवश्यक, सरणी बनाने के लिए Array.prototype.map() फ़ंक्शन का उपयोग करेंगे, और हम सरणी में दोहराई जाने वाली प्रविष्टियों का ट्रैक रखने के लिए मानचित्र का उपयोग करेंगे -

उदाहरण

const array = ['day', 'night', 'afternoon', 'night', 'noon', 'night',
'noon', 'day', 'afternoon', 'day', 'night'];
const groupSimilar = arr => {
   return arr.reduce((acc, val) => {
      const { data, map } = acc;
      const ind = map.get(val);
      if(map.has(val)){
         data[ind][1]++;
      } else {
         map.set(val, data.push([val, 1])-1);
      }
      return { data, map };
   }, {
      data: [],
      map: new Map()
   }).data;
};
console.log(groupSimilar(array));

आउटपुट

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

[ [ 'day', 3 ], [ 'night', 4 ], [ 'afternoon', 2 ], [ 'noon', 2 ] ]

  1. जावास्क्रिप्ट Array.prototype.values()

    जावास्क्रिप्ट की array.values() विधि एक नया Array Iterator ऑब्जेक्ट देता है जिसमें सरणी में प्रत्येक अनुक्रमणिका के मान होते हैं। वाक्य रचना इस प्रकार है - arr.values() आइए अब जावास्क्रिप्ट में array.values() मेथड को लागू करें - उदाहरण <!DOCTYPE html> <html> <body> <h2>Demo

  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" /> <titl