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

JavaScript में एलिमेंट्स को ग्रुप करने और डुप्लिकेट गिनने के लिए कुशल एल्गोरिदम


हमारे पास ऑब्जेक्ट्स का एक ऐरे है। यदि ऑब्जेक्ट की एक प्रॉपर्टी दूसरे ऑब्जेक्ट में समान है, तो हम इसे डुप्लिकेट एंट्री मानते हैं।

हम इस प्रॉपर्टी द्वारा ऑब्जेक्ट्स को ग्रुप करना चाहते हैं और स्टोर करना चाहते हैं कि "डुप्लिकेट" कितनी बार हुआ।

   X A B O    Y X Z I    Y X Z U    X A B L    Y X Z K

हम पहले मान द्वारा ग्रुप करना चाहते हैं।

दो अन्य प्रॉपर्टीज़ प्रत्येक डुप्लिकेट में समान हैं, लेकिन पहली वैल्यू की तुलना करना पर्याप्त होगा।

हमें यूज़र को ऐसा परिणाम दिखाना है:

   Y X Z (3)    X A B (2)

उदाहरण

इसके लिए कोड होगा:

const arr = [    {x: 'x', acc: 'acc', val: 'val'},    {y: 'y', x: 'x', z: 'z'},    {y: 'y', x: 'x', z: 'z'},    {x: 'x', c: 'c', val: 'val'} ]; const countOccurrence = (arr = []) => {    const res = {};    arr.forEach (item => {       Object.keys( item ).forEach (prop => {          ( res[prop] ) ? res[prop] += 1 : res[prop] = 1;       });    });    return res; } const groupByOccurrence = (data = []) => {    const obj = countOccurrence(data);    const res = Object.keys ( obj ).reduce ( ( acc, val ) => {       ( acc[obj[val]] ) ? acc[obj[val]].push ( val ) : acc[obj[val]] = [val];       return acc;    }, {});    return res; } console.log(groupByOccurrence(arr));

आउटपुट

And the output in the console will be: { '1': [ 'acc', 'c' ], '2': [ 'val', 'y', 'z' ], '4': [ 'x' ] }

  1. - जावास्क्रिप्ट: आसन्न तत्वों के गुणनफल का एल्गोरिदम

    हमें पूर्णांकों की एक सरणी दी गई है। हमें आसन्न तत्वों के उस जोड़े को ढूंढना है जिसका गुणनफल सबसे बड़ा है और उस गुणनफल को लौटाना है।उदाहरण के लिए -यदि इनपुट सरणी है -const arr = [3, 6, -2, -5, 7, 3];तो आउटपुट 21 होना चाहिए क्योंकि [7, 3] वह जोड़ा है जिसका योग सबसे बड़ा है।उदाहरणनिम्नलिखित कोड है - {

  1. - जावास्क्रिप्ट में यूक्लिडियन एल्गोरिदम से GCD निकालना

    गणित में, यूक्लिड का एल्गोरिदम, दो संख्याओं के महत्तम सामान्य भाजक (GCD) की गणना करने की एक विधि है, वह सबसे बड़ी संख्या जो उन दोनों को बिना शेष छोड़े विभाजित करती है।यूक्लिडियन एल्गोरिदम इस सिद्धांत पर आधारित है कि दो संख्याओं का महत्तम सामान्य भाजक नहीं बदलता यदि बड़ी संख्या को उसके और छोटी संख्या

  1. - JavaScript में डुप्लिकेट सहित सरणी तत्वों में सामान्य वर्ण

    समस्या हमें एक JavaScript फ़ंक्शन लिखना है जो स्ट्रिंग्स की एक सरणी arr को पहले और एकमात्र आर्गुमेंट के रूप में लेता है। हमारे फ़ंक्शन को उन सभी वर्णों की एक सरणी वापस करनी चाहिए जो सरणी arr के भीतर सभी स्ट्रिंग्स में दिखाई देते हैं (डुप्लिकेट सहित)। उदाहरण के लिए, यदि कोई वर्ण सभी स्ट्रिंग्स में 2