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

การกลับลำดับอาร์เรย์แบบบางส่วน - JavaScript

ฟังก์ชันนี้กลับลำดับเฉพาะ 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);

ขั้นตอนการทำงาน

  1. slice(0, num) - คัดลอก num สมาชิกแรก
  2. reverse() - กลับลำดับอาร์เรย์ที่คัดลอก
  3. splice(0, num, ...partialArr) - แทนที่ส่วนต้นทางด้วยข้อมูลที่กลับแล้ว

ผลลัพธ์

[ 23, 2, 5, 5, 3, 4, 7, 8, 8, 9 ]

หมายเหตุ: ฟังก์ชันนี้แก้ไขอาร์เรย์ต้นทางโดยตรง (mutates original array)