Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

กลับด้านส่วนหนึ่งของอาร์เรย์ - JavaScript

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ ดัชนีเริ่มต้น และดัชนีสิ้นสุด ฟังก์ชันควรกลับด้านส่วนของอาร์เรย์ระหว่างดัชนีทั้งสอง

ตัวอย่าง อาร์เรย์:

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

start=3, end=7 ผลลัพธ์:

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

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

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

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้:

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