Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาอักขระที่ไม่ซ้ำตัวแรกของสตริงใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงเป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว

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

หากสตริงไม่มีอักขระเฉพาะ ฟังก์ชันควรคืนค่า -1

ตัวอย่างเช่น −

หากสตริงอินพุตเป็น −

const str = 'hellohe';

จากนั้นผลลัพธ์ควรเป็น −

const output = 4;

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const str = 'hellohe';
const firstUnique = (str = '') => {
   let obj = {};
   for(let i = 0; i < str.length; i++){
      if(str[i] in obj){
         let temp = obj[str[i]];
         let x = parseInt(temp[0]);
         x += 1;
         temp[0] = x;
         obj[str[i]] = temp;
      } else {
         obj[str[i]] = [1, i]
      }
   }
   let arr = Object.keys(obj);
   for(let i = 0; i < arr.length; i++){
      let z = obj[arr[i]]
      if(z[0] === 1){
         return z[1];
      }
   }
   return -1;
};
console.log(firstUnique(str));

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

4