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