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