2011-08-31 104 views
3

使用jQuery SelectBox plugin我试图创建一个JSON对象看起来如下,其中'value''name'是对值的选择框:如何遍历并将值对添加到JSON对象?

'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对象,以便根据需要使选择框工作?

回答

16

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

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

这样你就具备拥有的属性包含在“数据”和这些属性的值相对名称

+0

井“ID”的对象,你不错误的是我在数组和对象之间有很多混淆。谢谢,我会试一试。 –

+0

先生,你是个绅士。这是完美的。所以要确认,这只是一个JSON对象?字数组在这里不算真正的数字吗? –

+1

实际上它不是一个JSON对象,它是一个标准的JavaScript对象。在Javascript中有很多关于对象和数组的很好的文章,这是很正常的! :) –