LESSLEMON 2022-04-26 15:45 采纳率: 50%
浏览 67
已结题

为什么 对象.字符串.charAt(i) 运行报错?

问题遇到的现象和发生背景

想要判断一个字符串中出现次数最多的字符,并统计其次数

问题相关代码,请勿粘贴截图

```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);


运行结果及报错内容

img

我的解答思路和尝试过的方法

将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)这样的引用方式到底哪里不对?规范的写法应该是什么样子的

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 5月4日
      • 已采纳回答 4月26日
      • 创建了问题 4月26日

      悬赏问题

      • ¥15 数组并求平均数及各值与平均数之差
      • ¥15 Qt5.9.9+Vs2017遇到字符集问题
      • ¥25 win11无法启用windows功能
      • ¥15 spm-cat进行VBM分析出错
      • ¥50 c++dll中,在函数中创建线程,在函数执行完之后,线程也被销毁了,有什么办法可以让线程持续运行?
      • ¥15 微信小程序真机测试报错空白
      • ¥15 急需帮助!!!非常需要帮助
      • ¥15 idea运行后磁盘爆满
      • ¥15 matlab的编程题。。。。。。。。
      • ¥300 数字n拆分为m个数字之和的组合问题