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

หาตัวอักษรซ้ำตัวแรกใน JavaScript

เรามีอาร์เรย์สตริง/ตัวเลขลิเทอรัล ที่อาจมีตัวซ้ำ หน้าที่เขียนฟังก์ชันรับอาร์เรย์ คืน index ของตัวซ้ำตัวแรก ถ้าไม่มีตัวซ้ำ คืน -1

เขียนโค้ด เราจะวนลูปด้วย for loop ใช้ Map เก็บตัวอักษรที่แตกต่างเป็น key และ index เป็น value หากระหว่างวนเจอ key ซ้ำ คืน index นั้น มิฉะนั้นจบลูปคืน -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