非常感谢协助我的代码。这似乎非常非常简单,但我根本无法看到问题所在。仅仅为了测试目的,我想从内部for循环以及" i"的9个值中的每个值输出到#34; j"的9个值中的每个值。在外部for循环中,总共81个输出。但是,它只返回" j"的第一个值。 (9)一次。我做错了什么?
var getPalindrome = function(){
for (var i=9;i>0; i--){
for (var j=9;j>0;j--){
return ("J: " + j);
}
return ("I: " + i);
}
}
console.log(getPalindrome());
输出:" J:9"
答案 0 :(得分:1)
不要在每个循环中从函数返回
你想要这样的东西
var getPalindrome = function(){
var retval = ""
for (var i=9;i>0; i--){
for (var j=9;j>0;j--){
retval += "J: " + j + "\n";
}
retval += "I: " + i + "\n";
}
return retval;
}
console.log(getPalindrome());
或
var getPalindrome = function(){
for (var i=9;i>0; i--){
for (var j=9;j>0;j--){
console.log( "J: " + j);
}
console.log("I: " + i);
}
}
getPalindrome();
答案 1 :(得分:1)
回归并不像回声。在过程结束之前它不会返回,然后将最后一个输入输出到变量。尝试使用document.write或使用数组捕获每个循环,然后在循环后输出结果。