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

การรวมอาร์เรย์ที่จัดเรียงแล้ว 2 อาร์เรย์เป็น 1 ใน JavaScript


ปัญหา

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

ตัวอย่าง

โค้ดตัวอย่างดังนี้:

const arr1 = [1, 3, 4, 5, 6, 8];
const arr2 = [4, 6, 8, 9, 11];
const mergeSortedArrays = (arr1 = [], arr2 = []) => {
  const res = [];
  let i = 0;
  let j = 0;
  while(i < arr1.length && j < arr2.length){
    if(arr1[i] < arr2[j]){
      res.push(arr1[i]);
      i++;
    }else{
      res.push(arr2[j]);
      j++;
    }
  };
  while(i < arr1.length){
    res.push(arr1[i]);
    i++;
  };
  while(j < arr2.length){
    res.push(arr2[j]);
    j++;
  };
  return res;
};
console.log(mergeSortedArrays(arr1, arr2));

ผลลัพธ์

[ 1, 3, 4, 4, 5, 6, 6, 8, 8, 9, 11 ]