试图从地图中获取扁平数据()

时间:2011-10-25 05:11:29

标签: javascript jquery

我目前正在尝试根据页面上的控件及其值创建一个在JSON请求中使用的对象。

我正在使用jQuery map()函数从控件中获取键和值,如此

var data = $("fieldset > div.section").map(function (i, e) {
    var result = {};
    result[e.children[0].id.substring(3);] = e.children[1].value;

    return result;
}).get();

这会得到我所追求的数据,但我最终得到的是嵌套对象而不是数组,这看起来是这样的

[{"ClientId":"123456"},{"ClientIdType":"5"},{"City":"Brisbane"},{"Sex":"10"},{"PostCode":"4064"},{"State":"QLD"}]

但我想要的是像

{"ClientId":"123456","ClientIdType":"5","City":"Brisbane","Sex":"10","PostCode":"4064","State":"QLD"}

有没有办法一次性执行此操作,或者我是否应该再次遍历数组以展平它?

1 个答案:

答案 0 :(得分:4)

这是each()而不是map()的情况:

var data = {};

$("fieldset > div.section").each(function (i, e) {
    data[e.children[0].id.substring(3)] = e.children[1].value;
});