forEach javascript函数未定义

-2 javascript foreach

我正在尝试实现forEach javascript函数来遍历players数组并总计一些值.当我调用该函数时,我收到错误

players.forEach(function(players){
    ^
TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)

代码在这里:

/*calculate the total number of points per player, use to calculate total score*/
function playerTotal(playerObj){
  var pacersTotal = 0;
  var hawksTotal = 0;
  var total = 0;
  total += 3*(playerObj.three_pointers_made);
  total += 2*(playerObj.field_goals_made - playerObj.three_pointers_made);
  total += playerObj.free_throws_made;
  if (playerObj.team_name == "Pacers"){
    pacersTotal += total;
  }
  else {
    hawksTotal += total;
  }
  console.log("Pacers " + pacersTotal + "\nHawks" + hawksTotal);
}

players.forEach(playerTotal(players));
Run Code Online (Sandbox Code Playgroud)

换句话说,我尝试使用forEach playerTotalplayers数组中的每个值(对象)上调用该函数,但无效!有小费吗?

gur*_*372 7

假设您players在调用forEach方法之前已经定义了,问题是这一行

players.forEach(playerTotal(players));
Run Code Online (Sandbox Code Playgroud)

应该传递函数引用而不是函数响应.

做了

players.forEach(function(playerObj){

   playerTotal(playerObj);

});
Run Code Online (Sandbox Code Playgroud)