输出数组没有数字索引

时间:2017-03-02 02:09:48

标签: javascript arrays

以下代码:

    for(i=0; i<3; i++){
         a = {};
         a['name' + i] = i;
        data.push(a);
}

...输出以下数组:

{
1:{name0:0},
2:{name1:1},
3:{name2:2}
}

如何修改代码,以便按如下方式输出数组:

{
name0:0,
name1:1,
name2:2
}

我需要这样做的原因是,我希望以后可以像这样引用我的数组:data[name1],而不是必须遍历整个数组来寻找我需要的价值。

1 个答案:

答案 0 :(得分:3)

你应该直接使用数据作为对象,而不是将它作为一个数组(因此将它作为一个对象数组)

 for(i=0; i<3; i++){
    data['name' + i] = i;
}

请记住,数据应该是一个对象(初始化为var data = {}