किसी स्ट्रिंग को उलटना प्रोग्रामिंग में एक मौलिक कार्य है। JavaScript कई तरीके प्रदान करता है, जिनमें से प्रत्येक की दक्षता और पठनीयता के मामले में अपनी-अपनी व्यापारिक बाधाएँ हैं। यह लेख दो प्रमुख विधियों का पता लगाता है: अंतर्निहित कार्यों का उपयोग करना और पुनरावृत्ति को नियोजित करना।
विषयवस्तु की तालिका
- अंतर्निहित JavaScript विधियों के साथ स्ट्रिंग्स को उलटना
- पुनरावृत्ति का उपयोग करके स्ट्रिंग्स को उलटना
- प्रदर्शन तुलना और सर्वोत्तम अभ्यास
अंतर्निहित JavaScript विधियों के साथ स्ट्रिंग्स को उलटना
JavaScript में किसी स्ट्रिंग को उलटने का सबसे कुशल और संक्षिप्त तरीका अंतर्निहित split()
, reverse()
और join()
विधियों का उपयोग करता है। इसके प्रदर्शन और पठनीयता के लिए इस दृष्टिकोण की अत्यधिक अनुशंसा की जाती है।
function reverseString(str) {
return str.split('').reverse().join('');
}
let myString = "hello";
let reversedString = reverseString(myString);
console.log(reversedString); // Output: olleh
यह कोड पहले split('')
का उपयोग करके स्ट्रिंग को अलग-अलग वर्णों की एक सरणी में विभाजित करता है। फिर, reverse()
उस सरणी के भीतर तत्वों के क्रम को उलट देता है। अंत में, join('')
सरणी के तत्वों को वापस एक स्ट्रिंग में जोड़ता है।
पुनरावृत्ति का उपयोग करके स्ट्रिंग्स को उलटना
जबकि अंतर्निहित विधि की तुलना में कम कुशल है, विशेष रूप से लंबी स्ट्रिंग्स के लिए, एक पुनरावर्ती दृष्टिकोण पुनरावर्ती प्रोग्रामिंग सिद्धांतों का एक मूल्यवान उदाहरण प्रदान करता है। यह विधि समस्या को छोटी, स्व-समान उप-समस्याओं में विभाजित करती है।
function reverseStringRecursive(str) {
if (str === "") {
return "";
} else {
return reverseStringRecursive(str.substring(1)) + str.charAt(0);
}
}
let myString = "hello";
let reversedString = reverseStringRecursive(myString);
console.log(reversedString); // Output: olleh
पुनरावृत्ति का आधार मामला एक खाली स्ट्रिंग है। अन्यथा, फ़ंक्शन एक सबस्ट्रिंग (पहले वर्ण को छोड़कर) के साथ स्वयं को पुनरावर्ती रूप से कॉल करता है, फिर पुनरावर्ती रूप से उलटी सबस्ट्रिंग के अंत में पहला वर्ण जोड़ता है।
प्रदर्शन तुलना और सर्वोत्तम अभ्यास
अंतर्निहित विधि (split().reverse().join()
) काफी तेज और अधिक कुशल है, खासकर जब बड़ी स्ट्रिंग्स से निपटते हैं। पुनरावर्ती दृष्टिकोण, जबकि एक प्रमुख प्रोग्रामिंग अवधारणा को प्रदर्शित करता है, फ़ंक्शन कॉल ओवरहेड से ग्रस्त है, जिससे यह कम प्रदर्शनशील होता है। अधिकांश व्यावहारिक अनुप्रयोगों के लिए, इसकी गति, पठनीयता और संक्षिप्तता के कारण अंतर्निहित विधि पसंदीदा विकल्प है। केवल शैक्षिक उद्देश्यों के लिए या उन स्थितियों में पुनरावृत्ति का उपयोग करें जहाँ यह प्रदर्शन व्यापार-बंद के बावजूद एक स्पष्ट रूप से स्पष्ट समाधान प्रदान करता है।