1, 在字符中查找第一次出现且不重复的字符 不是很难直接上代码第一种方法
/**
- [findFirstNoRepeatChar description]
- 找到字符串中第一个出现且不重复的字符的位置
- @param {[string]} str [字符串]
- @return {[type]} [description] */ function findFirstNoRepeatChar(str) { var strObj, i, temp, index;
if (typeof str !== "string") { return; }
strObj = {};
for (i = str.length - 1; i >= 0; i--) { if (!strObj[str[i]]) { strObj[str[i]] = 1; }else { strObj[str[i]]++; }
}
index = str.length - 1; for (var key1 in strObj) { if (strObj[key1] === 1) { temp = str.indexOf(key1); }
if (temp < index) { index = temp; } }
if (index === str.length - 1) { console.log("没有不重复的字符"); }else { return index; }
}
第二种方法: 利用正则查找
function checkFirstChar(str,char) { var reg, regModel;
reg = "[^" + char + "]*"; regModel = new RegExp('^' + reg + char + reg + '$');
return regModel.test(str); }
function findFirstNoRepeatChar(str) {
var i;
if (typeof str !== "string") { console.log("不是字符串"); return; }
for (i = 0; i < str.length; i++) { if (checkFirstChar(str, str[i])) { return str[i]; } }
}