JavaScript 循环和数组

标签 javascript arrays for-loop indexing

我想知道:

  1. 什么时候使用索引方法为新数组赋值?
  2. 并且;什么时候使用push方法?

我知道您可以使用索引为 for 循环中的数组赋值。

我的问题是:
我有一个如下所示的 for 循环:

for (i=array_len-2;i>0;i-=2)
{
var new_arry=array[i]
}

...这只会返回 i 的值。它不会将其存储在新数组中。

但是,如果我做同样的事情:

for (i=array_len-2;i>0;i-=2)
{
var new_arry=array.push(i)
}

它以[元素一,元素二]的格式将新元素添加到数组中。

最佳答案

无论哪种方式都有效,只需在循环外创建一个空数组即可。在每次迭代(循环)过程中使用递增变量。创建数组时避免使用关键字 new,使用字面值 ex 效果好 99%。 var 数组 = [];

请记住,示例中的循环是向后执行的 (-=2),而且很不寻常的是它提前停止了 (i=array_len-2;i>0;),通常循环设置为全长(i=array_len 很可能源自 var array_len = array.length)。因此,如果数组长度只有 4 到 5,这个非正统循环只会添加 2 个额外元素(我可能会关闭......)。

演示

// Fill array by push()
var arr1 = [];

for (let i=0; i < 5; i++) {
  arr1.push(i);
}

console.log(arr1);

// Fill array by assignment
var arr2 = [];

for (let i=0; i< 5; i++) {
  arr2[i] = i;
}

console.log(arr2);

关于JavaScript 循环和数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47185695/

相关文章:

javascript - 为什么这个 if 语句在 for 循环内创建一个未定义的值?

javascript - .val ("value") 在 jQuery 1.5 中没有按预期工作

javascript - 从 javascript JSON 对象中查找键的值

C - 指向 double 和 double 组的指针之间的细微差别。将一个转换为另一个?

python - 使用所需行列表对 numpy 数组进行切片

c++ - 嵌套循环中的 OpenMP 数组索引

r - 尝试同时对不同的列数求和

javascript - 将 php 数组导入 javascript 数据集

javascript - 为页面上的所有数字设置专门的字体

Java程序跳过for循环