我试图让我的for循环显示47到28之间的每个数字,从最高到最低。
出于某种原因,我的代码给了我答案" 28,28"。
任何人都可以帮助我解决我做错的事吗?我只是想补充一点,我对javascript还是一个新手!
var fx = "";
var printRangeReversed = function(rangeStart1,rangeStop1){
for (var a3=rangeStart1; a3 > rangeStop1; a3--);
fx+=a3+",";
return fx=rangeStop1&&(fx+=a3),fx;
return fx = fx.substr(0,fx.length-1);
}
ANSWER = printRangeReversed(47,28);
答案 0 :(得分:6)
for循环以;
结束,因此后续行只是执行,就像它在循环外一样。此外,第二个return
语句是多余的,因为第一个return
下方的代码无法访问。
更好的代码是
var fx = "";
var printRangeReversed = function(rangeStart1,rangeStop1){
var arr = [];
for (var a3 = rangeStart1; a3 >= rangeStop1; a3--)
arr.push(a3);
return arr.join(); // same as arr.join(",")
}
fx = printRangeReversed(47, 28);
请注意,我使用的是>=
而不是>
,因为它不是您想要的。
答案 1 :(得分:0)
你不想在循环中做回车。让它完成,然后返回结果。例如:
var printRangeReversed = function(rangeStart1,rangeStop1){
var fx = "";
for (var a3=rangeStart1; a3 > rangeStop1; a3--) {
fx+=a3+",";
}
return fx;
}
ANSWER = printRangeReversed(47,28);