此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达。
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;
}