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

JavaScript에서 배열의 회전 찾기

<시간/>

배열과 숫자 n을 받는 JavaScript 함수를 작성해야 합니다.

우리의 함수는 배열을 n개의 요소만큼 회전시켜야 합니다. 즉, 앞에서 n개의 요소를 가져와 끝에 놓는 것입니다.

여기서 유일한 조건은 메모리의 추가 공간을 사용하지 않고 이 작업을 수행해야 한다는 것입니다 -

예를 들어 -

입력 배열이 다음과 같으면

const arr = [12, 6, 43, 5, 7, 2, 5];

숫자 n이 3이면 출력은 다음과 같아야 합니다.

const output = [5, 7, 2, 5, 12, 6, 43];

예시

다음은 코드입니다 -

const arr = [12, 6, 43, 5, 7, 2, 5];
const num = 5;
const rotateByOne = arr => {
   for(let i = 0; i < arr.length-1; i++){
      temp = arr[i];
      arr[i] = arr[i+1];
      arr[i+1] = temp;
   };
}
Array.prototype.rotateBy = function(n){
   const { length: l } = this;
   if(n >= l){
      return;
   };
   for(let i = 0; i < n; i++){
      rotateByOne(this);
   };
};
arr.rotateBy(num);
console.log(arr);

출력

이것은 콘솔에서 다음과 같은 출력을 생성합니다 -

[
   2, 5, 12, 6,
  43, 5,  7
]