我目前正在尝试根据页面上的控件及其值创建一个在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"}
有没有办法一次性执行此操作,或者我是否应该再次遍历数组以展平它?
答案 0 :(得分:4)
这是each()
而不是map()
的情况:
var data = {};
$("fieldset > div.section").each(function (i, e) {
data[e.children[0].id.substring(3)] = e.children[1].value;
});