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 回答