例:查找字符串"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'));
今日心得:個人很喜歡用函數將計算過程過程封裝起來,既不會和其他代碼混淆,看起來非常整潔好看。方便寫項目的時候調用。