Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาตัวอักษรที่ไม่ซ้ำกันตัวแรกใน JavaScript


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

หากไม่มีองค์ประกอบเช่นนั้นในอาร์เรย์ ฟังก์ชันควรคืนค่า -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