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;
}