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

การหาตัวเลขที่ไม่ต่อเนื่องแรกในอาร์เรย์ใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน 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