代码如下:一共两种方法,一个用数组一个用对象,思路一样但代码长度还是有点差距的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>统计字符串中每个字符的个数</title>
<script>
//第一种用数组的方法
var str = 'adjwoaujapufa';
var array = [];
var aindex=0;
var cha;
for(var index = 0;index<str.length;index++){
//将字符串中的字符挨个赋值给cha
cha = str.charAt(index);
//使cha值和array中其他值不同或者数组长度为0,则继续运行
if(array.length<=0|array.every(function (v) {
//数组所有的值都不等于cha
if(v!==cha) {
return true;
}else {
return false;
}
})){
//将cha的值放入数组中
array[aindex] = cha;
//计算cha的值在字符串中出现的次数
var num = str.split(array[aindex]).length-1;
console.log(array[aindex]+'字符在str字符串中出现了'+num+'次');
//数组下标自增1
aindex++;
}
}
//第二种用对象的方法
var ary = 'adjwoaujapufa';
var obj = {};
var i = 0;
for (i = 0; i < ary.length; i++) {
key = ary[i];
if (obj[key]) {
obj[key]++;
}else {
obj[key] = 1;
}
}
for(var key in obj){
console.log(key+'这个字符出现了'+obj[key]+'次');
}
</script>
</head>
<body>
</body>
</html>