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 に答える