हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो तीन तर्क लेता है, पहला एक स्ट्रिंग है, मान लीजिए str, फिर दो संख्याएं, मान लीजिए m और n। संख्याएं m और n मूल रूप से बाईं शिफ्ट और दाईं शिफ्ट की मात्रा निर्दिष्ट करती हैं।
हम इन शब्दों को इस तरह परिभाषित करते हैं -
बाईं शिफ्ट - स्ट्रिंग का एकल वृत्ताकार घुमाव जिसमें पहला अक्षर अंतिम अक्षर बन जाता है और अन्य सभी अक्षर बाईं ओर एक अनुक्रमणिका शिफ्ट हो जाते हैं।
उदाहरण के लिए, abcde एक बाईं शिफ्ट के बाद bcdea बन जाता है और दो बाईं शिफ्ट के बाद cdeab बन जाता है।
दाईं शिफ्ट - स्ट्रिंग का एकल वृत्ताकार घुमाव जिसमें अंतिम अक्षर पहला अक्षर बन जाता है और अन्य सभी अक्षर दाईं ओर शिफ्ट हो जाते हैं।
उदाहरण के लिए, abcde एक दाईं शिफ्ट के बाद eabcd बन जाता है और दो दाईं शिफ्ट के बाद deabc बन जाता है।
तो, मूल रूप से हमारे फ़ंक्शन को निर्दिष्ट संख्या में बाईं और दाईं शिफ्ट करनी चाहिए और फिर अंतिम परिणामी स्ट्रिंग लौटानी चाहिए।
उदाहरण
इसके लिए कोड होगा -
const str = 'abcdef';
const getShiftedString = (str, leftShifts, rightShifts) => shiftByAmount(shiftByAmount(str, leftShifts), -rightShifts);
// सहायक फ़ंक्शन
// ऋणात्मक राशि दाईं ओर शिफ्ट करती है
// धनात्मक राशि बाईं ओर शिफ्ट करती है
const shiftByAmount = (str, leftShifts) => {
leftShifts = leftShifts % str.length;
return str.slice(leftShifts) + str.slice(0, leftShifts);
};
console.log(getShiftedString(str, 3, 2));आउटपुट
कंसोल में आउटपुट होगा -
bcdefa