如何循环播放&为JSON对象添加值对?

时间:2011-08-31 09:29:23

标签: javascript jquery arrays json jquery-selectbox

使用jQuery SelectBox plugin我正在尝试创建一个如下所示的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对象,以便根据需要使Select Box工作?

1 个答案:

答案 0 :(得分:17)

我认为你在数组和对象之间存在很多混淆。你可以这样做:

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

通过这种方式,您将拥有一个对象,该对象具有“data”中包含的“id”属性以及这些属性的值相对名称