Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะย้อนกลับส่วนของอาร์เรย์ใน JavaScript ได้อย่างไร


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

ตัวอย่างเช่น −

หากอาร์เรย์เป็น −

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

และดัชนีเริ่มต้นและดัชนีสิ้นสุดคือ 3, 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
]