สมมติว่า เราต้องเขียนฟังก์ชันที่คืนค่าดัชนีขององค์ประกอบแรกที่ปรากฏอย่างน้อยสองครั้งในอาร์เรย์ หากไม่มีองค์ประกอบปรากฏมากกว่าหนึ่งครั้ง เราต้องคืนค่า -1 เราต้องทำสิ่งนี้ในพื้นที่คงที่ (เช่น โดยไม่ต้องใช้หน่วยความจำเพิ่มเติม)
ดังนั้น เรามาเขียนวิธีแก้ปัญหานี้กัน เราจะใช้ for loop เพื่อวนซ้ำบนอาร์เรย์และใช้เมธอด 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