如何创建从特定数字开始的对象或数组?

时间:2016-10-05 14:46:56

标签: javascript arrays object

我想创建将从#32开始循环的对象或数组。我尝试过这样的事情:

var test = [{'recID':"32",'optionalCol':"first",'recID':"33",'optionalCol':"last",'recID':"34",'optionalCol':"age"}];

这对我不起作用,我试着这样循环:

for(var i=32; i < test.lenght; i++) {
    console.log(test[i].recID);
}

我想知道这是否可行以及如何构建我的对象/数组以便能够从32开始我的循环?如果有人可以提供帮助,请告诉我。

2 个答案:

答案 0 :(得分:2)

你想要做的是使用这样的关联数组:

var test = {
    32: "first",
    33: "last",
    34: "age"
}

您可以像这样迭代对象:

for (t in test) {
    console.log(test[t])
}

或者只是像这样快速访问某个项目:

console.log(test[33])

查看jsfiddle:https://jsfiddle.net/xo0vuejt/

答案 1 :(得分:1)

您可以使用带有数字作为键的对象和内部对象,这反映了给定示例中的值。

var test = {
    32: {
        'recID': "32",
        'optionalCol': "first"
    },
    33: {
        'recID': "33",
        'optionalCol': "last"
    },
    34: {
        'recID': "34",
        'optionalCol': "age"
    }
};

此结构允许使用

访问属性
test[33].optionalCol

使用

进行迭代
Object.keys(test).forEach(function (key, i, keys) {
    // test[k] ...
});

对象属性的计数

Object.keys(test).length // 3