Chúng ta có một mảng chứa các số hoặc chuỗi ký tự, trong đó hầu hết các phần tử đều lặp lại. Nhiệm vụ là viết một hàm nhận vào mảng này và trả về chỉ số của phần tử đầu tiên không xuất hiện liên tiếp.
Nếu không tồn tại phần tử nào như vậy, hàm sẽ trả về -1. Dưới đây là mã thực hiện chức năng này. Chúng ta sẽ sử dụng một vòng lặp đơn giản để duyệt qua mảng và trả về vị trí khi tìm thấy ký tự không lặp lại; nếu không tìm thấy, trả về -1.
Ví dụ
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));Kết quả
Đầu ra trong console sẽ là:
5