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

Trying to get flattened data out of map()

本文关键字:获取 数据 map      更新时间:2023-09-26

我目前正在尝试创建一个对象在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"}

是否有一种方法可以一次完成此操作,或者我应该再次迭代数组以使其平坦?

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

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