没有索引的循环 javascript

For loop withoit indexes javascript

我想显示一个数组而不显示索引。 for 循环 returns 通常声明中未显示的数组索引。 我想发送一个像 [1,2,3 ...] 这样的数组,但是从 for 循环中检索后,我没有上述格式。我怎样才能像上面那样存储我的价值观。

var a = [];
for (var i = 1; i < 8; i++) {
    a[i] = i;
};
console.log(a);

输出:

[1: 1, 2: 2 ...]

期望的输出:

[1,2,3]// same as console.log([1,2,3])

问题是您的数组以 1 索引开始,使得初始 0 位置为空(在数组中称为 "hole")。基本上你将数组视为普通对象(你当然可以这样做,但它违背了数组结构的目的) - 因为这个浏览器 console.log 决定向你显示键,因为它认为你想看到对象键以及它的值。

您需要 push 个值到数组:

var a = [];
for (var i = 1; i < 8; i++) {
    a.push(i);
};

数组索引从零开始,你的循环从 1 开始,缺少索引 0 你有一个稀疏数组,这就是你得到该输出的原因,你可以使用 push 将值添加到数组而不使用索引。

var a = [];
for (var i = 1; i < 8; i++) {
    a.push(i);
};
console.log(a);

您的代码使每个索引等于 i,因此请按此方式使用它

var a = [];
for (var i = 1; i < 8; i++) {
a.push(i);
};
console.log(a);

我不同意此处提供的答案。执行此类操作的最佳方法是:

var a = new Array(7);
for (var i = 0; i < a.length; i++) {
    a[i] = i + 1;
}
console.log(a);