<script>
var str3 = "kioojroiaognadknfkgoadirojoajgoeirjoijagwoqkep";
//创建一个空对象, 目的:把字母作为键,次数作为值
var obj = { };
//遍历字符串,获取每个字母
for (var i = 0; i < str3.length; i++){
//判断obj这个对象中有没有字母
var key = str3[i];//每个字母
if (obj[key]) {//判断obj中有没有这个键
//对象中有这个字母了
obj[key]++;
console.log(obj[key]++);
} else {
obj[key] = 1;
}
}
// for (var key in obj) {
// console.log(key + "这个字母出现了" + obj[key] + "次");
// }
</script>
哪位大佬能帮忙解答一下
obj[key]++;
在上述代码中的含义和功能
如上是对字符串str3中所有字母出现次数进行统计。先是定义了一个空对象,用于存放出现及字母(键)以及该字母出现的次数(值)。然后循环遍历字符串中所有的字母,如果已经在对象obj中存在了,则对应的值加一,即这里的obj[key]++,拆开可以写成obj[key]=obj[key]+1;如果对象obj中不存在该字母的记录,则将该字母加上并赋初值1.
如key的值是字符串“a”就等同 obj.a++;
用来计算该字母出现的次数用的。如果obj[key]不存在,obj[key]的值为1;如果obj[key]存在,则obj[key]++,也就是进行加1的操作,此时obj[key]值为2了,之后就以此类推。(此外var a = 1;a++; 相当于 var a = 1;a+=1)
计数啊...
对象obj
中已经有了字幕key
, for循环遍历读取到字母key
的时候, 就让计数变量obj[key]
增加1