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

ค้นหาอักขระซ้ำตัวแรกโดยใช้ JavaScript


เรามีอาร์เรย์ของตัวอักษรสตริง/ตัวเลขที่อาจ/อาจไม่มีอักขระที่ซ้ำกัน งานของเราคือการเขียนฟังก์ชันที่รับอาร์เรย์และส่งคืนดัชนีของอักขระที่ทำซ้ำตัวแรก หากอาร์เรย์ไม่มีอักขระซ้ำ เราควรคืนค่า -1

มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน เราจะวนซ้ำในอาร์เรย์โดยใช้ a for loop และใช้ amap เพื่อเก็บอักขระที่แตกต่างกันเป็นคีย์และดัชนีเป็นค่า หากในระหว่างการวนซ้ำเราพบคีย์ที่ทำซ้ำ เราจะคืนค่าดัชนีนั้น มิฉะนั้นเมื่อสิ้นสุดลูป เราจะคืนค่า -1

รหัสสำหรับสิ่งนี้จะเป็น −

ตัวอย่าง

const arr = [12,4365,76,43,76,98,5,31,4];
const secondArr = [6,8,9,32,1,76,98,0,65,878,90];
const findRepeatingIndex = (arr) => {
   const map = {};
   for(let i = 0; i < arr.length; i++){
      if(map[arr[i]]){
         return map[arr[i]];
      }else{
         map[arr[i]] = i;
      }
   }
   return -1;
};
console.log(findRepeatingIndex(arr));
console.log(findRepeatingIndex(secondArr));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

2
-1