3
    var curr = data[i],
        newArray = [],
        key = curr.Frequency.Type,
        obj = {key: []};
    newArray.push(obj);

ただし、これにより、「key」のキーを持つオブジェクトが生成されます。変数の値のキーを持つ新しいオブジェクトを作成するにはどうすればよいkeyですか?

4

4 に答える 4

2

あなたはこれを行うことができます:

var curr = data[i],
    newArray = [],
    key = curr.Frequency.Type,
    obj = {};

obj[key] = [];
newArray.push(obj);

オブジェクト リテラル自体の中で JavaScript でそれを行う方法はありません。構文はそれを提供していません。

編集— この回答が書かれたとき、上記は当てはまりましたが、ES2015 はオブジェクト初期化子で動的キーを提供します。

var curr = data[i],
    key = curr.Frequency.Type,
    newArray = [ { [key]: [] } ];
于 2013-09-04T15:27:53.973 に答える
1

関数から新しい無名オブジェクトをインスタンス化するだけです。

obj = new function () {
    this[key] = [];
};
于 2013-09-04T15:29:46.430 に答える