定义和用法
indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。
语法
stringObject.indexOf(searchvalue,fromindex)
说明
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定fromindex时)。如果找到一个searchvalue,则返回searchvalue的第一次出现的位置。 stringObject中的字符位置是从0开始的。
提示和注释
1、indexOf()方法对大小写敏感 2、如果要检索的字符串值没有出现,则该方法返回-1
那么我们就利用这个语法,进行判断字符是否只出现了一次,先从第一个开始判断,另a等于他第一次出现的位置,另b等于从下一位索引开始寻找是否还存在一个相同的值。如果往后都不存在,也就是找不到,就说明这个字符只出现一次,也就是返回值为-1;如果找到了,那么返回0;
/**
* @param {string} s
* @return {character}
*/
var firstUniqChar = function (s) {
for (let i = 0; i < s.length; i++) {
a = s.indexOf(s[i])
b = s.indexOf(s[i], a + 1)
if (b == -1) {
return s[i];
}
}
return " ";
};