【问题标题】:How to loop through & add pairs of values to JSON object?如何循环并将成对的值添加到 JSON 对象?
【发布时间】:2011-08-31 09:29:22
【问题描述】:

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

【问题讨论】:

    标签: javascript jquery arrays json jquery-selectbox


    【解决方案1】:

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

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

    通过这种方式,您将拥有一个对象,该对象具有“数据”中包含的“id”作为属性,并且这些属性的值具有相对名称

    【讨论】:

    • 好吧,我在数组和对象之间有很多混淆,这并没有错。谢谢,我试试看。
    • 先生,您是绅士。这很完美。所以确认一下,这只是一个 JSON 对象?字数组这里真的不算数?
    • 其实它不是 JSON 对象,它是一个标准的 javascript 对象。有很多关于 Javascript 中的对象和数组的好文章,感到困惑是正常的! :)
    猜你喜欢
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 2017-06-11
    • 2020-06-28
    • 1970-01-01
    相关资源
    最近更新 更多