ฟังก์ชันนี้กลับลำดับเฉพาะ n สมาชิกแรกของอาร์เรย์ โดย n ต้องไม่เกินความยาวของอาร์เรย์
ตัวอย่าง
// Input: [3, 5, 5, 2, 23, 4, 7, 8, 8, 9], n = 5 // Output: [23, 2, 5, 5, 3, 4, 7, 8, 8, 9]
ตัวอย่างโค้ด
const arr = [3, 5, 5, 2, 23, 4, 7, 8, 8, 9];
const partialReverse = (arr = [], num = 0) => {
// 1. ตัด n ตัวแรกออกมา
const partialArr = arr.slice(0, num);
// 2. กลับลำดับส่วนที่ตัดออก
partialArr.reverse();
// 3. แทนที่ n ตัวแรกในอาร์เรย์เดิม
arr.splice(0, num, ...partialArr);
};
partialReverse(arr, 5);
console.log(arr);
ขั้นตอนการทำงาน
slice(0, num)- คัดลอกnumสมาชิกแรกreverse()- กลับลำดับอาร์เรย์ที่คัดลอกsplice(0, num, ...partialArr)- แทนที่ส่วนต้นทางด้วยข้อมูลที่กลับแล้ว
ผลลัพธ์
[ 23, 2, 5, 5, 3, 4, 7, 8, 8, 9 ]
หมายเหตุ: ฟังก์ชันนี้แก้ไขอาร์เรย์ต้นทางโดยตรง (mutates original array)