例:查找字符串"abcoefoxyozzopp"中出现过的字符。
function isAppear(str) { //去掉重复的字符
var newStr = "";
for (var i = 0; i < str.length; i++) {
if (newStr.indexOf(str.charAt(i) === -1) {
newStr += str.charAt(i);
}
}
return newStr;
}
//调用函数
console.log(isAppear("oabcoefoxyozzopp"));
例:查找字符串"abcoefoxyozzopp"中出现过的字符所有出现的位置以及次数。
function appearTimes(str, find) { //计算字符出现的次数
var newArr = [];
var i = 0;
while (str.indexOf(find, i) !== -1) {
newArr.push(str.indexOf(find, i));
i = str.indexOf(find, i) + 1;
}
return newArr;
}
function isAppear(str) { //去掉重复的字符
var newStr = "";
for (var i = 0; i < str.length; i++) {
if (newStr.indexOf(str.charAt(i) === -1) {
newStr += str.charAt(i);
}
}
return newStr;
}
var newStr = isAppear("oabcoefoxyozzopp");
for (var i = 0; i < newStr.length; i++) {//遍历每一个出现过的字符
//打印字符、字符在字符串中出现的位置,字符在字符串出现的次数
var chars = appearTimes(str, (newStr.charAt(i)));
console.log(newStr.charAt(i), chars, chars.length);
}
例:查找字符串"abcoefoxyozzopp"中出现过的字符所有的次数。 【最推荐的】
//利用对象存储字符并统计字符个数
function appearStr(str){
var obj = {};
for (var i = 0; i < str.length; i++) {
var char = str.charAt(i);
if(obj[char]){
obj[char]++;
}else{
obj[char] = 1;
}
}
return obj;
}
//调用函数
console.log(appearStr('abcoefoxyozzopp'));
今日心得:个人很喜欢用函数将计算过程过程封装起来,既不会和其他代码混淆,看起来非常整洁好看。方便写项目的时候调用。