【发布时间】:2014-09-25 05:18:00
【问题描述】:
每当我运行它时,它都会给我“第一”而不是“第二”。我的逻辑在这里正确吗?找到两个平均值然后返回更大的值?或者你认为它到底有什么问题。
var first = ([100, 80], [100, 100]);
function compare(a, b) {
sum = 0;
for(var i = 0; i < a.length; i++) {
sum += first[i];
avg1 = (sum/a.length);
}
sum2 = 0;
for(i = 0; i < b.length; i++) {
sum2 += first[i];
avg2 = (sum2/b.length);
}
if (avg1 > avg2); {
return ("first");
}
if (false) {
return ("second");
}
}
【问题讨论】:
-
“我的逻辑在这里正确吗?”如果你没有得到你期望的结果,那么你的逻辑可能不正确。
-
函数的参数是什么?为什么要在两个循环中对同一个数组求和?
-
写
var first = ( [100,80], [100,100]);的意义何在?逗号操作符返回它的第二个参数,所以这相当于var first = ( [100,100]); -
len在哪里定义?您发布的代码似乎不完整,因此我们将无法运行它。 -
if (false)永远不会执行它的主体。那应该是一个else子句。
标签: javascript