本文實例講述了JavaScript統計字符串中每個字符出現次數的方法。分享給大家供大家參考,具體如下:
這是一個面試題,要求隨便給你一個字符串,讓你求出字符串中每個字符出現的次數。
先來看看運行效果截圖:

具體代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>求字符串中每個字符出現的次數 </title>
<script type="text/javascript">
var str = "abdcadfasfdbadfafdasdfasyweroweurowqrewqrwqrebwqrewqrejwq;;";
var array = str.split("");
array.sort();
var countArray = [];
var CountObj = function(character){
this.count = 1
this.character = character;
return this;
}
var arrayObj = null,
countArrayObj = null,
arrayLength = 0;
for (var i = 0, length = array.length; i < length; i++) {
arrayObj = array[i];
arrayLength = countArray.length;
if (arrayLength > 0) {
countArrayObj = countArray[arrayLength - 1];
if (countArrayObj.character == arrayObj) {
countArrayObj.count = countArrayObj.count + 1;
} else {
countArray.push(new CountObj(arrayObj));
}
} else {
countArray.push(new CountObj(arrayObj));
}
}
/**
* 輸出每個字母和其對應出現的統計數據
*/
for(var i=0,length=countArray.length; i<length; i++) {
countArrayObj = countArray[i];
console.log(countArrayObj.character + ":" + countArrayObj.count);
}
</script>
</head>
<body>
</body>
</html>
更多關於JavaScript算法相關內容感興趣的讀者可查看本站專題:《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數據結構與算法技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。