JavaScript函数没有给出正确的输出
JavaScript function not giving the correct output
我有以下函数:
function checkWinner (results)
{
for (var i = 0; i < results.length; i++)
if (results[i] > 50)
{
var win = results[i];
return win;
}
else if (results[i] < 50)
{
var win = 0;
return win;
}
}
结果数组为:
var results = [12,32,53,12,23];
然而,当我期望53时,我得到了0。
我正在调用函数使用:
var win = (checkWinner(results));
当我从代码中删除else if语句时,我得到了53的正确答案。所以我想我做错了什么。什么好主意吗?
函数总是在值不为50的第一次迭代时从"for"循环返回。考虑一下:当值大于50时,你的"if"条件将从函数返回,当值小于50时也是如此。对于测试数据,数组的第一个元素小于50,因此得到0。
既然您已经发现删除"else"部分可以解决问题,那么您还需要什么呢?
如果您在调试器中或在纸上逐步检查代码,那么错误应该会变得清晰。
基本上,数组中的第一个元素导致else子句被执行,并且在该子句中您立即返回。所以函数只检查第一个元素
如果有人得了50分怎么办?第二个代码应该是else而不是else if
Main这是因为你显式返回0。
function checkWinner (results)
{
for (var i = 0; i < results.length; i++)
{
if (results[i] > 50)
{
return results[i];
}
else
{
return results[i];
}
}
}
相关文章:
- 如何在jQuery中将函数的输出分配给变量
- console.log以外的Javascript输出函数
- 函数将输出nan而不是数字,为什么
- 如何使用构造函数's的输出,以便将值插入到对象中
- 它在另一个函数中嵌套后不会输出文本
- 在javascript函数中记录输出或分配的变量
- 如何避免JavaScript中函数输出上的多个变量重新声明
- 通过原型/构造函数从复选框输出值
- 编辑输出字符串函数ol.control.MouseControl
- 为什么不是't此函数用于修改最终输出
- 使用构造函数 - 原型从文本框输出值
- JavaScript 函数没有给出正确的输出
- 如何将以下函数更改为字母数字输出
- 为什么 Javascript sort() 函数没有给出预期的输出
- 你能把jQuery函数的输出放在变量中吗?
- JS函数只返回未定义的数据,但alert输出正确的数据
- 如何在JS/HTML中将函数输出发送到表单元格
- 如何从按钮后面的代码中调用javascript函数,点击并存储其输出,然后继续操作
- 选择更改对鼠标输出函数 JQUERY 无效
- AngularJS .component()中的输出函数('&')不起作用