繁体   English   中英

nodejs v8.11.2 .foreach不是函数错误

[英]nodejs v8.11.2 .foreach not a function error

我正在尝试将开发人员拥有的nodejs应用添加到生产服务器。 运行脚本时出现此错误。

TypeError: team.player.forEach is not a function

我知道team.player是合法的。 我控制台记录它,并显示此。

player: 
{ name: 'TEAM',
     shortname: 'TEAM',
     checkname: 'TEAM',
     uni: 'TM',
     class: 'FR',
     gp: '1',
     code: '198',
     rush: { att: '0', yds: '465', gain: '465', loss: '0', td: '0', long: '0' },
     pass: 
      { comp: '0',
        att: '0',
        int: '0',
        yds: '40',
        td: '0',
        long: '0',
        sacks: '0',
        sackyds: '0' },
     fumbles: { no: '3', lost: '1' } } 

我唯一能弄清楚的是,在开发服务器上,我们使用v8.9.4,而在生产环境中使用的版本是8.11.2,尽管我认为在这种情况下这并不重要,也没有其他人听说过问题。

看起来player是一个对象而不是数组。 如果要对其进行迭代,则应使用Object.valuesObject.keysObject.entries

Object.values(team.player).forEach(value => {

});

Object.keys(team.player).forEach(key => {

});

Object.entries(team.player).forEach(([key, value]) => {

});

for...in循环中:

for(let key in team.player) {
  if(!team.player.hasOwnProperty(key)) continue;
  const value = team.player[key];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM