Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm vòng quay của một mảng trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng và một số n.

Hàm của chúng ta nên xoay mảng theo n phần tử, tức là lấy n phần tử từ phía trước và đặt chúng ở cuối.

Điều kiện duy nhất ở đây là chúng ta phải làm điều này mà không sử dụng thêm dung lượng trong bộ nhớ -

Ví dụ -

Nếu mảng đầu vào là mảng sau,

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

và số n là 3, thì đầu ra phải là;

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

Ví dụ

Sau đây là mã -

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);

Đầu ra

Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -

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