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

शिफ्ट स्ट्रिंग्स जावास्क्रिप्ट में बाएं और दाएं परिपत्र


हमें एक JavaScript फ़ंक्शन लिखने की आवश्यकता है जो तीन तर्कों को लेता है, पहला एक स्ट्रिंग है, मान लीजिए str, फिर हमारे पास दो संख्याएँ हैं, मान लीजिए m और n। संख्याएं एम और एन मूल रूप से क्रमशः बाएं और दाएं शिफ्ट की मात्रा निर्दिष्ट करती हैं।

हम इन शब्दों को इस तरह परिभाषित करते हैं -

बाएं शिफ्ट - स्ट्रिंग का एक एकल गोलाकार घुमाव जिसमें पहला वर्ण अंतिम वर्ण बन जाता है और अन्य सभी वर्ण एक अनुक्रमणिका को बाईं ओर स्थानांतरित कर दिया जाता है।

उदाहरण के लिए, abcde एक लेफ्ट शिफ्ट के बाद bcdea बन जाता है और cdeab दो लेफ्ट शिफ्ट के बाद।

राइट शिफ्ट - स्ट्रिंग का एकल गोलाकार घुमाव जिसमें अंतिम वर्ण पहला वर्ण बन जाता है और अन्य सभी वर्ण दाईं ओर स्थानांतरित हो जाते हैं।

उदाहरण के लिए, एबीसीडी एक दाएं शिफ्ट के बाद ईएबीसीडी हो जाता है और दो दाएं शिफ्ट के बाद डीबीसीडी हो जाता है।

इसलिए, मूल रूप से हमारे फ़ंक्शन को बाएँ और दाएँ शिफ्टों की निर्दिष्ट संख्या को निष्पादित करना चाहिए और फिर अंत में परिणामी स्ट्रिंग को वापस करना चाहिए।

उदाहरण

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

const str = 'abcdef';
const getShiftedString = (str, leftShifts, rightShifts) =>
shiftByAmount(shiftByAmount(str, leftShifts), −rightShifts);
// helper function
// negative amount shifts to right
// positive amount shifts to left
const shiftByAmount = (str, leftShifts) => {
   leftShifts = leftShifts % str.length;
   return str.slice(leftShifts) + str.slice(0, leftShifts);
};
console.log(getShiftedString(str, 3, 2));

आउटपुट

और कंसोल में आउटपुट होगा -

Bcdefa

  1. जावास्क्रिप्ट में नियमित अभिव्यक्ति का परीक्षण और निष्पादन कैसे करें?

    जावास्क्रिप्ट में रेगुलर एक्सप्रेशन के परीक्षण और निष्पादन के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  1. C/C++ में लेफ्ट शिफ्ट और राइट शिफ्ट ऑपरेटर्स

    बाएं शिफ़्ट लेफ्ट शिफ्ट ऑपरेटर में, लेफ्ट ऑपरेंड वैल्यू को राइट ऑपरेंड द्वारा निर्दिष्ट बिट्स की संख्या से बायीं ओर ले जाया जाता है। यहाँ C भाषा में लेफ्ट शिफ्ट ऑपरेटर का उदाहरण दिया गया है, उदाहरण #include <stdio.h> int main() {    int y = 28; // 11100    int i = 0; &n

  1. C# में लेफ्ट शिफ्ट और राइट शिफ्ट ऑपरेटर (>> और <<) क्या हैं?

    बिटवाइज लेफ्ट शिफ्ट ऑपरेटर बाएं ऑपरेंड मान को दाएं ऑपरेंड द्वारा निर्दिष्ट बिट्स की संख्या से बाईं ओर ले जाया जाता है। बिटवाइज राइट शिफ्ट ऑपरेटर बाएं ऑपरेंड मान को दाएं ऑपरेंड द्वारा निर्दिष्ट बिट्स की संख्या से दाएं स्थानांतरित किया जाता है। निम्नलिखित एक उदाहरण है जो दिखाता है कि बिटवाइज़ बाएँ