4

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

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

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

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

4

3 回答 3

7

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

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

此外,如果您想动态地将键添加到现有对象,您可以使用[]语法

var obj = {};
...
obj['field one'] = 'a';
obj['field two'] = 'b';
data.push(obj)
于 2013-03-15T03:49:19.637 回答
3

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

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

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

您可以使用以下方法将新创建的对象插入到数组中.push

data.push(obj);

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

data[0]["field one"] == "a";
于 2013-03-15T03:50:37.390 回答
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/

于 2013-03-15T04:02:28.773 回答