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

หาสมาชิกซ้ำตัวแรกในอาร์เรย์ - JavaScript

สมมติว่าเราต้องเขียนฟังก์ชันที่คืนค่าดัชนีของสมาชิกตัวแรกที่ปรากฏอย่างน้อยสองครั้งในอาร์เรย์ หากไม่มีสมาชิกซ้ำ ให้คืนค่า -1 เราต้องทำใน constant space (ไม่ใช้หน่วยความจำเพิ่ม)

เราจะใช้ลูป for วนผ่านอาร์เรย์ และใช้เมธอด Array.prototype.lastIndexOf() เพื่อตรวจสอบการซ้ำ

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

const arr1 = [0, 1, 1, 2, 3, 4, 4, 5];

const firstRedundant = arr => {
  for(let i = 0; i < arr.length; i++){
    if(arr.lastIndexOf(arr[i]) !== i){
      return i;
    };
  };
  return -1;
}

console.log(firstRedundant(arr1)); // 1

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้:

1