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

รวมอาร์เรย์ที่เรียงแล้วเข้าด้วยกันใน JavaScript

สมมติว่ามีอาร์เรย์ที่เรียงแล้วสองอาร์เรย์ (เรียงจากน้อยไปมาก) ดังนี้:

const arr1 = [1, 2, 3, 0, 0, 0];
const arr2 = [2, 5, 6];

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

ดังนั้น สำหรับอาร์เรย์ข้างต้น ผลลัพธ์ควรเป็น:

const output = [1, 2, 2, 3, 5, 6];

ตัวอย่าง

const arr1 = [1, 2, 3, 0, 0, 0];
const arr2 = [2, 5, 6];

const mergeSortedArrays = (arr1, arr2) => {
  let { length: l1 } = arr1;
  let { length: l2 } = arr2;
  while(l2){
    arr1[l1++] = arr2[--l2];
  };
  const sorter = (a, b) => a - b;
  arr1.sort(sorter);
};

mergeSortedArrays(arr1, arr2);
console.log(arr1);

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้:

[
  0, 0, 0, 1, 2,
  2, 3, 5, 6
]