javascript - 基本 For 循环逻辑对我来说没有意义

标签 javascript arrays for-loop

我尝试学习 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/

相关文章:

javascript - 保存 VML 和 CSS 标记

javascript - jquery:找出特定元素在其邻居中的哪个位置(顺序)

java - 如果语句没有调用正确的字符串或 boolean 值

ios - 如何在 swift 3 中将 NSArray 转换为 Swift 数组

JavaScript 函数并不执行所有内容

javascript - typeof var 显示预期的数字类型后出现意外的 NaN 输出

javascript - 如何在 styled-components v4 + TypeScript 中使用 prop 值设置属性?

C程序: Breaking an int into an int array[]

Cuda 用 2D block 替换 double

python - 为什么我的 for 循环没有在这段代码中迭代?