账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    为什么forEach只跑出第一个值? 没办法打印出全部
    48
    0

    假设有一个数组长这样

     var qq = [
      
      {
        "info": {"event": 123},
        "odds": 
        [
          {"o": ["test","123",],
            "oName": "超级联赛 冠军"
          },
          {"o": ["qq","ee",],
            "oName": "苏格兰"
          },
        ],
        "main": true,
      },
      {
        "info": {"event": 323},
        "odds": [
          {"o": ["jk","234"] ,
            "oName": "苏格兰"
          }
        ],
        "main": true,
      }
      ];
    
    

    我想要打印出每一个oName

    qq.forEach(function(item,i){
      
        console.log(item.odds.oName)
        //结果undefined
        
        console.log(item.odds[i].oName)
        //成功列出第一个"超级联赛 冠军",
        //然后显示"TypeError: Cannot read property 'oName' of undefined
    
      return
    
    });
    
    
    

    为什么没办法打印出全部的oName? 怎么解决呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • forEach 是 JavaScript 的一种遍历数组的方法,它会在数组的每个元素上执行一个函数。但是,forEach 方法并不会打印出所有元素。这是因为 JavaScript 的 console.log 方法并不会遍历数组的每个元素。

      如果你想要打印出数组的所有元素,你可以在遍历元素时调用 console.log 方法。例如:

      ```javascript let array = [1, 2, 3, 4, 5];

      array.forEach(function(value) { console.log(value); }); ```

      这将会在控制台打印出数组的每个元素。如果你想要遍历整个数组,你可以在循环体内使用 console.log 方法,但是这种方法并不会打印出所有元素。

      ```javascript let array = [1, 2, 3, 4, 5];

      for (let i = 0; i < array.length; i++) { console.log(array[i]); } ```

      这将会在控制台打印出整个数组。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部