Javascript 不带数字索引的输出数组
以下代码:Javascript 不带数字索引的输出数组,javascript,arrays,Javascript,Arrays,以下代码: for(i=0; i<3; i++){ a = {}; a['name' + i] = i; data.push(a); } 如何修改代码,使其输出数组,如下所示: { name0:0, name1:1, name2:2 } 我需要这样做的原因是,我希望以后能够像这样引用我的数组:data[name1],而不是必须遍历整个数组来查找我需要的值。那么,您应该直接将数据作为对象使用,而不是将其作为数组(从而将其作为对象
for(i=0; i<3; i++){
a = {};
a['name' + i] = i;
data.push(a);
}
如何修改代码,使其输出数组,如下所示:
{
name0:0,
name1:1,
name2:2
}
我需要这样做的原因是,我希望以后能够像这样引用我的数组:
data[name1]
,而不是必须遍历整个数组来查找我需要的值。那么,您应该直接将数据作为对象使用,而不是将其作为数组(从而将其作为对象数组使用)
for(i=0;i您应该直接将数据作为对象使用,而不是将其作为数组(从而将其作为对象数组使用)
for(i=0;i使用普通对象而不是数组data={}
,然后在循环中使用data['name'+i]=i
。您不需要a
。它们不需要推送;使用普通对象而不是数组data={}
,然后使用data['name'+i]=i
在循环中。您不需要a
。他们不需要推送;这是正确的答案。我的错误是每次都试图将值推送到数组中。我将接受正确的答案。是否需要初始化数据
…var data={}
?OP没有显示数据是如何初始化的,但是从操作来看它是var data=[];
。这是正确的答案。我的错误是每次都试图将值推入数组。我会接受正确的答案。您需要初始化数据
…var data={}?OP没有显示数据是如何初始化的,但是从操作来看它是var data=[];
。
{
name0:0,
name1:1,
name2:2
}
for(i=0; i<3; i++){
data['name' + i] = i;
}