したがって、複数のフィールドを持つ JavaScript 配列を宣言したいと思います。
たとえば、私はあなたが次のようなことができることを知っています
var data = [
{
"field one": "a",
"field two": "b",
},
{
"field one": "c",
"field two": "d",
}
]
ただし、宣言時にフィールドを初期化する必要がないように、そのような配列を動的に作成する方法はわかりません。
したがって、複数のフィールドを持つ JavaScript 配列を宣言したいと思います。
たとえば、私はあなたが次のようなことができることを知っています
var data = [
{
"field one": "a",
"field two": "b",
},
{
"field one": "c",
"field two": "d",
}
]
ただし、宣言時にフィールドを初期化する必要がないように、そのような配列を動的に作成する方法はわかりません。
push()
メソッドを使用して、配列に値を動的に追加できます。
var data = [];
....
....
data.push({
"field one": "a",
"field two": "b",
})
[]
また、既存のオブジェクトにキーを動的に追加する場合は、構文を使用できます
var obj = {};
...
obj['field one'] = 'a';
obj['field two'] = 'b';
data.push(obj)
個々の配列要素はJavaScript Objectです。ドットまたはブラケット構文を使用して、新しいフィールドを作成できます。
var obj = {};
obj.fieldone = "one";
obj["field two"] = "two";
あなたの場合、スペースのためにブラケット表記を使用する必要があります。
以下を使用して、新しく作成したオブジェクトを配列に挿入できます.push
。
data.push(obj);
その後、個々のフィールドにアクセスできます。
data[0]["field one"] == "a";
これを試して:
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/