我尝试学习 Javascript 已经很长时间了,但有点令人沮丧。我又回来学习基础知识了,我正在玩弄下面的这些 for
循环和数组。
谁能解释一下为什么这段代码的输出是[1,2,3,4,5]
而不是[6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21,22,23,24,25]
?
var game1 = new Array();
for(i = 25; i > "love is like a river".length; i = i - 1) {
console.log(game1.push(i));
}
最佳答案
console.log(game1.push(i));
这个语句的作用是将被推送的元素的索引打印到控制台。结果1,2,3,4,5就是数组的长度。
你要编码的是:
var game1 = [];
for(i = 25; i > "love is like a river".length; i--){
console.log(i);
game1.push(i);
}
在上面的示例中,我切换了数组的声明,因为这是最常见的方式(这不是必需的)。它仍然可以正常使用您的声明版本。在 for 循环中我切换了
i = i - 1;
速记版:
i-- or --i
它使' i '减1。我也分开了
console.log(i) and game1.push(i) to be separate
这将打印出 'i' 的结果:25,24,23,22,21 这是因为 for 循环执行用户在循环结束时定义的操作,因此当循环打印出 21 并将其推送到数组时,它递减到 20,循环在此处停止。该数组仍将包含数字 25、24、23、22、21。但控制台不会记录它。
如果你想要上面定义的输出,你必须:
var game1 = [];
for(i = 6;i >= 25; i++){
game1.push(i);
console.log(game1[i-6]);
}
在这个过程中,您将“i”添加到 game1 中,结果为 [6,7,8,9,10,11,12,13,14...25] 并在“i - 6”的索引处记录变量'.这将导致方括号中的数字从 0 开始为“0,1,2,3,4,5”,因为这是所有数组索引的起始位置。
关于javascript - 基本 For 循环逻辑对我来说没有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38216609/