[英]how to get function to accepts argument as a string in javascript
认为这是一个简单的问题,但是我无法解决这个问题。
还有这些:
var students = ["Joseph", "Susan", "William", "Elizabeth"]
var scores = [ [80, 70, 70, 100], [85, 80, 90, 90], [75, 70, 80, 75], [100, 90, 95, 85] ]
var gradebook = {
Joseph: {
testScores: scores[0]
},
Susan: {
testScores: scores[1]
},
William: {
testScores: scores[2]
},
Elizabeth: {
testScores: scores[3]
},
addScore: function(name, score) {
gradebook[name]["testScores"].push(score);
},
getAverage: function(name) {
average(gradebook[name]["testScores"]);
}
};
var average = function(array) {
return array.reduce(function(a, b) { return a + b }) / array.length;
};
有2个数组和gradebook对象,要调用gradebook.getAverage(“ Joseph”)并返回平均值。 但是这条线的average(gradebook[name]["testScores"]);
在getAverage函数中,我认为不起作用。
当我将代码放入节点终端,然后执行gradebook.getAverage("Joseph");
我不确定。
如果我在终端中执行了average(gradebook["Joseph"]["testScores"]
,我会得到想要的答案。
希望这是有道理的! 谢谢
您从函数调用中获得undefined
的原因是它们没有返回任何值。 更改为此:
addScore: function(name, score) {
return gradebook[name]["testScores"].push(score);
},
getAverage: function(name) {
return average(gradebook[name]["testScores"]);
}
};
您需要从getAverage
方法返回值:
getAverage: function(name) {
return average(gradebook[name]["testScores"]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.