JavaScript实现查找字符串中第一个不重复的字符

时间:2022-10-18 21:28:33

此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达。

 

复制代码 代码如下:

 //找出字符串中第一个不重复的字符
 // firstUniqueChar("vdctdvc"); --> t
 function firstUniqueChar(str){
   var str = str || "",
       i = 0,
       k = "",
       _char = "",
       charMap = {},
       result = {name: "",index: str.length};
   for(i=0;i<str.length;i++){
     _char = str.charAt(i);
     if(charMap[_char] != undefined){
       charMap[_char] = -1;
     }else{
       charMap[_char] = i;
     }
   }
   for(k in charMap){
     if(charMap[k]<0){
       continue;
     }
     if(result.index>charMap[k]){
       result.index = charMap[k];
       result.name = k;
     }
   }
   return result.name;
 }

 

小伙伴们如有更好的思路,还请告之一下,不胜感激