我正在尝试实现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 playerTotal在players数组中的每个值(对象)上调用该函数,但无效!有小费吗?
假设您players在调用forEach方法之前已经定义了,问题是这一行
players.forEach(playerTotal(players));
Run Code Online (Sandbox Code Playgroud)
应该传递函数引用而不是函数响应.
做了
players.forEach(function(playerObj){
playerTotal(playerObj);
});
Run Code Online (Sandbox Code Playgroud)