สมมติว่าเรามีลำดับจำนวนที่เพิ่มขึ้นอย่างเคร่งครัด (เพิ่มขึ้นตามหน่วย) ซึ่งองค์ประกอบบางอย่างหายไปเช่นนี้ -
const arr = [2,3,4,7,11];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์เช่นอาร์กิวเมนต์แรกและตัวเลขเดียว เช่น n เป็นอาร์กิวเมนต์ที่สอง
ฟังก์ชันควรค้นหาองค์ประกอบที่ n ที่หายไปจากอาร์เรย์
ตัวอย่างเช่น −
ถ้าสำหรับอาร์เรย์ข้างต้น n =4;
ดังนั้นผลลัพธ์ควรเป็น 8 เพราะ
องค์ประกอบที่ขาดหายไปคือ −
1, 5, 6, 8
ตัวอย่าง
const arr = [2, 3, 4, 7, 11]; const findMissing = (arr = [], n) => { let el = 0; let diff = 0; for(let i=0; i<arr.length; ++i) { const difference = arr[i] - el - 1; const sum = diff + difference; if(sum>=n) { break; }; diff = sum; el = arr[i]; } return el + n - diff; }; console.log(findMissing(arr, 4));
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
8