"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट में इस फ़ंक्शन का उपयोग करके एक स्ट्रिंग को कैमलकेस में कनवर्ट करें।

जावास्क्रिप्ट में इस फ़ंक्शन का उपयोग करके एक स्ट्रिंग को कैमलकेस में कनवर्ट करें।

2024-08-07 को प्रकाशित
ब्राउज़ करें:605

कभी किसी स्ट्रिंग को कैमलकेस में बदलने की आवश्यकता पड़ी? ओपन-सोर्स सुपाबेस रिपॉजिटरी की खोज के दौरान मुझे एक दिलचस्प कोड स्निपेट मिला। यहां वह विधि दी गई है जिसका वे उपयोग करते हैं:

function featureToCamelCase(feature: Feature) {
  return feature
    .replace(/:/g, '\_')
    .split('\_')
    .map((word, index) => (index === 0 ? word : word\[0\].toUpperCase()   word.slice(1)))
    .join('') as FeatureToCamelCase
}

यह फ़ंक्शन बहुत साफ-सुथरा है। यह कोलन को अंडरस्कोर से बदल देता है, स्ट्रिंग को शब्दों में विभाजित करता है, और फिर इसे कैमलकेस में बदलने के लिए प्रत्येक शब्द के माध्यम से मैप करता है। पहले शब्द को लोअरकेस में रखा जाता है, और बाद के शब्दों को एक साथ वापस जोड़ने से पहले उनके पहले अक्षर को बड़े अक्षरों में लिखा जाता है। सरल फिर भी प्रभावी!

Convert a string to camelCase using this function in Javascript.

मुझे स्टैक ओवरफ़्लो पर एक और दृष्टिकोण मिला जो नियमित अभिव्यक्तियों का उपयोग नहीं करता है। यहाँ विकल्प है:

function toCamelCase(str) {
  return str.split(' ').map(function(word, index) {
    // If it is the first word make sure to lowercase all the chars.
    if (index == 0) {
      return word.toLowerCase();
    }
    // If it is not the first word only upper case the first char and lowercase the rest.
    return word.charAt(0).toUpperCase()   word.slice(1).toLowerCase();
  }).join('');
}

एसओ के इस कोड स्निपेट में टिप्पणियां हैं जो बताती हैं कि यह कोड क्या करता है, सिवाय इसके कि यह किसी भी प्रकार के रेगेक्स का उपयोग नहीं करता है। एक स्ट्रिंग को कैमलकेस में परिवर्तित करने के सुपाबेस के तरीके में पाया गया कोड इस SO उत्तर के समान है, टिप्पणियों और उपयोग किए गए रेगेक्स को छोड़कर।

.replace(/:/g, '\_')

यह विधि स्ट्रिंग को रिक्त स्थान से विभाजित करती है और फिर प्रत्येक शब्द पर मैप करती है। पहला शब्द पूरी तरह से लोअरकेस है, जबकि बाद के शब्दों को पहले अक्षर पर बड़े अक्षरों में लिखा गया है और बाकी के लिए लोअरकेस में रखा गया है। अंत में, कैमलकेस स्ट्रिंग बनाने के लिए शब्दों को वापस एक साथ जोड़ दिया जाता है।

स्टैक ओवरफ़्लो उपयोगकर्ता की एक दिलचस्प टिप्पणी में इस दृष्टिकोण के प्रदर्शन लाभ का उल्लेख किया गया है:

“ 1 रेगुलर एक्सप्रेशन का उपयोग न करने के लिए, भले ही प्रश्न में उनका उपयोग करके समाधान मांगा गया हो। यह एक अधिक स्पष्ट समाधान है, और प्रदर्शन के लिए एक स्पष्ट जीत भी है (क्योंकि जटिल नियमित अभिव्यक्तियों को संसाधित करना स्ट्रिंग के एक समूह पर पुनरावृत्ति करने और उनके बिट्स को एक साथ जोड़ने की तुलना में बहुत कठिन काम है)। देखें jsperf.com/camel-casing-regexp-or-character-manipulation/1 जहां मैंने इस उदाहरण के साथ यहां कुछ उदाहरण लिए हैं (और मेरा अपना मामूली उदाहरण भी प्रदर्शन के लिए इसमें सुधार किया गया है, हालांकि ज्यादातर मामलों में स्पष्टता के लिए मैं शायद इस संस्करण को प्राथमिकता दूंगा)।''

दोनों तरीकों की अपनी खूबियां हैं। सुपाबेस कोड में रेगेक्स दृष्टिकोण संक्षिप्त है और शक्तिशाली स्ट्रिंग हेरफेर तकनीकों का लाभ उठाता है। दूसरी ओर, गैर-रेगेक्स दृष्टिकोण की इसकी स्पष्टता और प्रदर्शन के लिए प्रशंसा की जाती है, क्योंकि यह नियमित अभिव्यक्तियों से जुड़े कम्प्यूटेशनल ओवरहेड से बचता है।

यहां बताया गया है कि आप उनके बीच कैसे चयन कर सकते हैं:

  • रेगेक्स दृष्टिकोण का उपयोग करें यदि आपको एक कॉम्पैक्ट, वन-लाइनर समाधान की आवश्यकता है जो जावास्क्रिप्ट की शक्तिशाली रेगेक्स क्षमताओं का लाभ उठाता है। यह भी सुनिश्चित करें कि आपका रेगेक्स क्या करता है, यह बताने वाली टिप्पणियाँ जोड़ें, ताकि आपका भावी स्वयं या आपके कोड के साथ काम करने वाला अगला डेवलपर समझ सके।
  • यदि आप पठनीयता और प्रदर्शन को प्राथमिकता देते हैं, तो गैर-रेगेक्स विधि का विकल्प चुनें, खासकर जब लंबी स्ट्रिंग से निपटते हैं या इस रूपांतरण को कई बार चलाते हैं।

क्या आप सीखना चाहते हैं कि शुरुआत से shadcn-ui/ui कैसे बनाएं? जांचें बिल्ड-फ्रॉम-स्क्रैच

मेरे बारे में:

वेबसाइट: https://ramunarasinga.com/

लिंक्डइन: https://www.linkedin.com/in/ramu-narasinga-189361128/

जीथब: https://github.com/Ramu-Narasinga

ईमेल: [email protected]

स्क्रैच से shadcn-ui/ui बनाएं

सन्दर्भ:

    https://github.com/supabase/supabase/blob/master/apps/studio/hooks/misc/useIsFeatureEnabled.ts#L16
  1. https://stackoverflow.com/a/35976812
विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/ramunarasinga/convert-a-string-to-camelcase-using-this-function-in-javascript-484j?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 से संपर्क करें इसे हटाने के लिए .com
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3