问题遇到的现象和发生背景
想要判断一个字符串中出现次数最多的字符,并统计其次数
问题相关代码,请勿粘贴截图
```javascript
var obj = {};
var str = 'abcoefoxyozzopp';
``` for (var i = 0; i < str.length; i++) {
if (obj.str.charAt(i)) {
//如果对象obj中存在当前从str中取出的值,那么为对象添加属性,为属性添加值
obj.str.charAt(i) += 1;
} else {
obj.str.charAt(i) = 1;
//obj.str.charAt(i)为什么会报错?????因为不能连续用两个点吗
}
}
console.log(obj);
运行结果及报错内容
我的解答思路和尝试过的方法
将obj.(str.charAt(i))改为obj[str.charAt(i)]:
var obj = {};
var str = 'abcoefoxyozzopp';
for (var i = 0; i < str.length; i++) {
if (obj[str.charAt(i)]) {
//如果对象obj中存在当前从str中取出的值,那么为对象添加属性,为属性添加值
obj[str.charAt(i)] += 1;
} else {
obj[str.charAt(i)] = 1;
//obj.(str.charAt(i))为什么会报错?????因为不能连续用两个点吗
}
}
console.log(obj);
我想要达到的结果
结果已经正确显示,但是不知道原因,obj.str.charAt(i)这样的引用方式到底哪里不对?规范的写法应该是什么样子的