สมมติเรามีอาร์เรย์ตัวเลขสองอาร์เรย์ที่แทนช่วงตัวเลข (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 ]