我想显示一个没有显示索引的数组。 for循环返回未在通常声明中显示的数组索引。
我想发送一个像[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])
答案 0 :(得分:3)
数组索引从零开始,你的循环从1开始,缺少索引0你有一个稀疏数组,这就是你得到那个输出的原因,你可以使用push在不使用索引的情况下向数组添加值。
var a = [];
for (var i = 1; i < 8; i++) {
a.push(i);
};
console.log(a);
答案 1 :(得分:2)
问题是您使用1
索引启动数组,使初始0
位置为空(在数组中称为&#34; hole&#34;)。基本上你将数组视为普通对象(当然你可以做但它不符合数组结构的目的) - 并且因为这个浏览器console.log
决定向你显示键,因为它认为你想看到对象键以及它的价值观。
您需要push
数组到数组:
var a = [];
for (var i = 1; i < 8; i++) {
a.push(i);
};
答案 2 :(得分:1)
我不同意这里提供的答案。做这样的事情的最好方法是:
var a = new Array(7);
for (var i = 0; i < a.length; i++) {
a[i] = i + 1;
}
console.log(a);
答案 3 :(得分:0)
您的代码使每个索引等于i
,因此请按照这种方式使用
var a = [];
for (var i = 1; i < 8; i++) {
a.push(i);
};
console.log(a);