声明具有多个字段的javascript数组

时间:2013-03-15 03:46:27

标签: javascript arrays variables initialization

所以我想声明一个包含多个字段的javascript数组。

例如,我知道你可以做类似

的事情
var data = [
{
    "field one": "a",
    "field two": "b",
},
{  
    "field one": "c",
    "field two": "d",
}
]

但是,我不知道要动态创建这样的数组,以便我不必在声明时初始化字段。

3 个答案:

答案 0 :(得分:6)

您可以使用push()方法将值动态添加到数组中。

var data  = [];
....
....
data.push({
    "field one": "a",
    "field two": "b",
})

此外,如果要动态地向现有对象添加键,可以使用[]语法

var obj = {};
...
obj['field one'] = 'a';
obj['field two'] = 'b';
data.push(obj)

答案 1 :(得分:3)

每个单独的数组元素都是JavaScript Object。您可以使用点或括号语法创建新字段:

var obj = {};
obj.fieldone = "one";
obj["field two"] = "two";

在您的情况下,由于空间的原因,您必须使用括号表示法。

您可以使用.push

将新创建的对象插入到数组中
data.push(obj);

然后,您可以访问各个字段:

data[0]["field one"] == "a";

答案 2 :(得分:1)

试试这个:

var data = [];

var fields = ["one", "two"];
var length = fields.length;

var char = 97; // a

for (var i = 0; i < 2; i++) {
    var object = {};

    for (var j = 0; j < length; j++) {
        object["field " + fields[j]] = String.fromCharCode(char++);
    }

    data.push(object);
}

请参阅此处的演示:http://jsfiddle.net/yqg3D/