JavaScript의 문자열 내에서 이동 수행

王林
풀어 주다: 2023-08-26 10:41:13
앞으로
1425명이 탐색했습니다.

在 JavaScript 中执行字符串内的移位

영어 소문자를 포함하는 문자열 str과 배열 arr이 있다고 가정합니다. 여기서 arr[i] = [direction, amount] −

  • direction은 0(왼쪽 이동) 또는 1(오른쪽 이동)일 수 있습니다.

  • amount는 문자열 s가 이동되는 양입니다.

  • 왼쪽으로 1만큼 이동한다는 것은 s의 첫 번째 문자를 제거하고 끝에 추가한다는 의미입니다.

  • 마찬가지로 오른쪽으로 1만큼 이동한다는 것은 s의 첫 번째 문자를 제거하고 끝에 추가하는 것을 의미합니다. s의 마지막 문자를 제거하고 시작 부분에 추가합니다.

문자열을 첫 번째 매개변수로 받아들이고 Shift가 포함된 배열 데이터를 두 번째 매개변수로 받아들이는 JavaScript 함수를 작성해야 합니다.

함수는 배열을 반복하고 문자열에서 필요한 이동을 수행한 다음 마지막으로 새 문자열을 반환해야 합니다.

예를 들어 -

입력 문자열과 배열이 -

const str = 'abc';
const arr = [[0, 1], [1, 2]];
로그인 후 복사

인 경우 출력은 -

const output = 'cab';
로그인 후 복사

여야 합니다. 왜냐하면

[0,1]은 1을 왼쪽으로 이동한다는 의미이기 때문입니다. "abc" -> "bca"

[1,2]는 2만큼 오른쪽으로 이동을 의미합니다. "bca" -> "cab"

Example

코드는 -

Live Demonstration

const str = 'abc';
const arr = [[0, 1], [1, 2]];
const performShifts = (str = '', arr = []) => {
   if(str.length < 2){
      return str;
   };
   let right = 0
   let left = 0;
   for(let sub of arr){
      if(sub[0] == 0){
         left += sub[1];
      }else{
         right += sub[1];
      };
   };
   if(right === left){
      return str;
   }
   if(right > left){
      right = right - left;
      right = right % str.length;
      return str.substring(str.length - right) + str.substring(0,
      str.length - right);
   }else{
      left = left - right;
      left = left % str.length;
      return str.substring(left) + str.substring(0,left);
   };
};
console.log(performShifts(str, arr));
로그인 후 복사

Output

입니다. 콘솔에서 출력은 -

cab
로그인 후 복사
입니다.

위 내용은 JavaScript의 문자열 내에서 이동 수행의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!