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