用 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

於以下時間更新: 20-Jan-2021

411 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.