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

JavaScript में स्ट्रिंग अक्षरों को आवृत्ति के अनुसार सॉर्ट करना


समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो अक्षरों की स्ट्रिंग को एकमात्र आर्ग्युमेंट के रूप में लेता है।

हमारा फ़ंक्शन मूल स्ट्रिंग के आधार पर एक नई स्ट्रिंग तैयार करनी चाहिए जिसमें सबसे अधिक बार आने वाले अक्षर पहले रखे जाएं और फिर घटती आवृत्तियों के साथ।

उदाहरण

यदि फ़ंक्शन का इनपुट है:

const str = 'free';

तो आउटपुट होना चाहिए:

const output = 'eefr';

आउटपुट व्याख्या:

चूंकि e दो बार आता है इसलिए इसे पहले रखा जाता है उसके बाद r और f।

कोड

const str = 'free'; const frequencySort = (str = '') => {    let map = {}    for (const letter of str) {       map[letter] = (map[letter] || 0) + 1;    };    let res = "";    let sorted = Object.keys(map).sort((a, b) => map[b] - map[a])    for (let letter of sorted) {       for (let count = 0; count < map[letter]; count++) {          res += letter       }    }    return res; }; console.log(frequencySort(str));

कोड व्याख्या:

हमने जो चरण उठाए वे हैं:

  • पहले, हमने अक्षर गिनती का हैशमैप तैयार किया।

  • फिर हमने मैप को अक्षरों की गिनती के अनुसार सॉर्ट किया।

  • और अंत में, हमने सॉर्ट किए गए अक्षरों से res स्ट्रिंग उत्पन्न की।

आउटपुट

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

eefr
  1. - जावास्क्रिप्ट रेगेक्स में \w बनाम \W

    \w बनाम \W जावास्क्रिप्ट में \w और \W में बहुत भिन्नता है जिसमें पूर्व वर्ड कैरेक्टर्स जैसे अल्फा-न्यूमेरिक्स की देखभाल करता है जबकि बाद वाला नॉन-वर्ड कैरेक्टर्स जैसे &, ^, %, आदि की देखभाल करता है। आइए इसे संक्षेप में समझते हैं। सिंटैक्स-1 new RegExp(\\w, g); उपरोक्त कोड जावास्क्रिप्ट में वर्ड

  1. जावास्क्रिप्ट में एस्केप कैरेक्टर्स जावास्क्रिप्ट में एस्केप कैरेक्टर्स

    एस्केप कैरेक्टर्स वे कैरेक्टर्स हैं जिन्हें हमारे इरादे से अलग तरीके से इंटरप्रेट किया जा सकता है। इन कैरेक्टर्स को वैसे ही प्रिंट करने के लिए, उनके सामने बैकस्लैश \ शामिल करें। जावास्क्रिप्ट में निम्नलिखित एस्केप कैरेक्टर्स हैं: कोडपरिणाम \bबैकस्पेस \fफॉर्म फीड \nनई लाइन \rकैरिज रिटर्न \tहॉरिज

  1. - JavaScript में स्ट्रिंग के वर्णों को समूहों में पुनर्गठित करना

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग str को एकमात्र आर्गुमेंट के रूप में लेता है।स्ट्रिंग str में तीन प्रकार के वर्ण हो सकते हैं:अंग्रेजी अल्फाबेट: (A-Z), (a-z)अंक: 0-9विशेष वर्ण - बाकी सभी शेष वर्णहमारा फ़ंक्शन इस स्ट्रिंग के माध्यम से पुनरावृति करना चाहिए और ठीक तीन तत्वों वाली