3

jQuery SelectBox プラグインを使用して、次のような JSON オブジェクトを作成しようとしています。 ここで、'value''name'は選択ボックスの値のペアです。

'Opt Group 1': {
    'value': 'name',
    'value': 'name',
    'value': 'name',
    'value': 'name',
    'value': 'name'
},

そのため、データをループするときに、配列の最後にさらにデータをプッシュします。現在、'name'唯一のものを表示するには、次を使用します。

var jsonObj = [];
for(var i=0; i<data.length; i++){
    jsonObj.push(data[i].name);
}
console.log(jsonObj);

私が理解している限り、JavaScript は変数を識別子として使用することを好まないようです。つまり、私にはできません。jsonObj.push({data[i].id:data[i].name});

選択ボックスを必要に応じて機能させるために、必要な種類の JSON オブジェクトを作成するにはどうすればよいでしょうか?

4

1 に答える 1

17

私が思うに、配列とオブジェクトの間で多くの混乱を引き起こしています。あなたがすることができます:

var jsonObj = {};
for(var i=0; i<data.length; i++){
    jsonObj[data[i].id] = data[i].name;
}

このようにして、「データ」に含まれる「id」をプロパティとして持ち、それらのプロパティの値として相対名を持つオブジェクトを持つことになります。

于 2011-08-31T09:33:45.470 に答える