Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Đảo ngược một đoạn của mảng - JavaScript


Chúng ta cần viết hàm nhận vào mảng, chỉ số bắt đầu và chỉ số kết thúc. Hàm đảo ngược đoạn mảng giữa hai chỉ số đó.

Ví dụ:

Mảng:

const arr = [2, 6, 5, 8, 3, 5, 2, 6, 7];

start=3, end=7 => kết quả:

const output = [2, 6, 5, 2, 5, 3, 8, 6, 7];

Ví dụ

Dưới đây là đoạn code:

const arr = [2, 6, 5, 8, 3, 5, 2, 6, 7]; 
const start = 3, end = 7; 
const reverse = arr => { 
  const { length: l } = arr; 
  for(let i = 0; i < Math.floor(l/2); i++){ 
    const temp = arr[i]; 
    arr[i] = arr[l-i-1]; 
    arr[l-i-1] = temp; 
  }; 
  return arr; 
}; 
const reverseBetween = (arr, start, end) => { 
  const num = Math.min(end - start, arr.length - start); 
  arr.splice(start, 0, ...reverse(arr.splice(start, num))); 
} 
reverseBetween(arr, start, end); 
console.log(arr);

Kết quả

Đoạn code sẽ in ra console:

[ 
  2, 6, 5, 2, 5, 
  3, 8, 6, 7 
]