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

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


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

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

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

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

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

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

    जावास्क्रिप्ट का array.values() मेथड एक नया Array Iterator ऑब्जेक्ट लौटाता है जिसमें एरे में प्रत्येक इंडेक्स के लिए वैल्यूज होती हैं। सिंटैक्स इस प्रकार है: arr.values() उदाहरण 1 <!DOCTYPE html> <html> <body> <h2>डेमो हेडिंग</h2> <p>वैल्यू दिखाने के लिए बटन

  1. JavaScript array.values() मेथड JavaScript array.values() मेथड

    JavaScript array.values() एक इटरेटर ऑब्जेक्ट लौटाता है जिसमें दिए गए ऐरे के सभी मान होते हैं। उदाहरण { fillEle.innerHTML = ; for (let x of arr.values()) { fillEle.innerHTML += x + </br>; } }); </script> </body> </html> आउटपुट यहां क

  1. JavaScript में ऑब्जेक्ट्स की सरणी को ID के आधार पर कैसे ग्रुप करें? JavaScript में ऑब्जेक्ट्स की सरणी को ID के आधार पर कैसे ग्रुप करें?

    JavaScript में ऑब्जेक्ट्स की सरणी को ID के आधार पर ग्रुप करने का निम्नलिखित कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <