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

การหาช่วงตัดกันของสองช่วงตัวเลขด้วย JavaScript

สมมติเรามีอาร์เรย์ตัวเลขสองอาร์เรย์ที่แทนช่วงตัวเลข (ranges) เช่น:

const arr1 = [2, 5];
const arr2 = [4, 7];

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

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

const output = [4, 5];

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

const arr1 = [2, 5];
const arr2 = [4, 7];
const findRangeIntersection = (arr1 = [], arr2 = []) => {
  const [el11, el12] = arr1;
  const [el21, el22] = arr2;
  const leftLimit = Math.max(el11, el21);
  const rightLimit = Math.min(el12, el22);
  return [leftLimit, rightLimit];
};
console.log(findRangeIntersection(arr1, arr2));

ผลลัพธ์

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

[ 4, 5 ]