हमें एक 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