ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ตัวเลข ฟังก์ชันควรคืนค่าสมาชิกแรกจากอาร์เรย์ที่ไม่ใช่ตัวตามลำดับตามธรรมชาติของสมาชิกก่อนหน้า
หมายถึง คืนค่าสมาชิกที่ไม่ใช่ +1 ของสมาชิกก่อนหน้า โดยที่มีอย่างน้อยหนึ่งตัวเช่นนั้นในอาร์เรย์
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const arr = [1, 2, 3, 4, 6, 7, 8];
const findFirstNonConsecutive = (arr = []) => {
for (let i = 0; i < arr.length - 1; i++) {
const el = arr[i];
const next = arr[i + 1];
if (next - el !== 1) {
return next;
}
}
return null;
};
console.log(findFirstNonConsecutive(arr));
ผลลัพธ์
6
คำอธิบายเพิ่มเติม
จาก [1,2,3,4,6,7,8] ตัวเลข 6 ไม่ใช่ 4+1 (ควรเป็น 5) จึงเป็นตัวแรกที่ไม่ต่อเนื่อง โค้ดวนลูปเปรียบเทียบ next - current !== 1