เรามีอาร์เรย์ของตัวอักษร Numbers/String ซึ่งรายการส่วนใหญ่จะทำซ้ำ งานของเราคือเขียนฟังก์ชันที่ใช้อาร์เรย์นี้และส่งคืนดัชนีขององค์ประกอบดังกล่าวตัวแรกซึ่งไม่ปรากฏต่อเนื่องกัน
หากไม่มีองค์ประกอบดังกล่าวในอาร์เรย์ ฟังก์ชันของเราจะคืนค่า -1 ทีนี้ มาเขียนโค้ดของฟังก์ชันนี้กัน เราจะใช้การวนซ้ำอย่างง่ายเพื่อวนซ้ำในอาร์เรย์และส่งคืนโดยที่เราพบอักขระที่ไม่ซ้ำ ถ้าเราไม่พบอักขระดังกล่าว เราจะส่งคืน -1 -
ตัวอย่าง
const arr = ['d', 'd', 'e', 'e', 'e', 'k', 'j', 'j', 'h']; const firstNonRepeating = arr => { let count = 0; for(let ind = 0; ind < arr.length-1; ind++){ if(arr[ind] !== arr[ind+1]){ if(!count){ return ind; }; count = 0; } else { count++; } }; return -1; }; console.log(firstNonRepeating(arr));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
5