Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การตรวจจับองค์ประกอบที่ไม่ซ้ำครั้งแรกในอาร์เรย์ใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชันที่ส่งคืนดัชนีขององค์ประกอบแรกที่ปรากฏอย่างน้อยสองครั้งในอาร์เรย์ หากไม่มีองค์ประกอบใดปรากฏขึ้นมากกว่าหนึ่งครั้ง เราต้องคืนค่า -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