Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 문자열을 원형 왼쪽과 오른쪽으로 이동


우리는 세 개의 인수를 취하는 JavaScript 함수를 작성해야 합니다. 첫 번째는 문자열(예:str)이고 두 개의 숫자(예:m 및 n)입니다. 숫자 m과 n은 기본적으로 각각 leftShifts와 rightShifts의 양을 지정합니다.

우리는 이러한 용어를 다음과 같이 정의합니다 -

왼쪽 시프트 - 첫 번째 문자가 마지막 문자가 되고 다른 모든 문자가 왼쪽으로 한 인덱스 이동하는 문자열의 단일 원형 회전.

예를 들어 abcde는 한 번 왼쪽으로 시프트하면 bcdea가 되고 두 번 왼쪽으로 시프트하면 cdeab가 됩니다.

오른쪽 시프트 − 마지막 문자가 첫 번째 문자가 되고 다른 모든 문자가 오른쪽으로 이동하는 문자열의 단일 원형 회전.

예를 들어 abcde는 오른쪽으로 한 번 이동하면 eabcd가 되고 두 번 오른쪽으로 이동하면 deabc가 됩니다.

따라서 기본적으로 함수는 지정된 수의 왼쪽 및 오른쪽 시프트를 수행한 다음 최종적으로 결과 문자열을 반환해야 합니다.

예시

이에 대한 코드는 -

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