我在Javascript和jquery中比较新。
我使用serializeArray(),
创建了一个对象数组var form_data = $("some_id").serializeArray();
其中form_data以以下格式返回数据
[obj, obj, obj, obj]
其中每个 obj 包含此结构中的数据
0: object
"name": "hotel_id"
"value": "1"
但我希望它以下列格式返回,
{"hotel_id": "1"}
这样做我最初尝试使用以下代码来返回name
或values
var myArray = $.map(form_data, function(element) {
return element.value;
});
它只以这种方式返回values
,
["1"]
如何在 {" name":" value"} 对中返回结果。
答案 0 :(得分:1)
你是如此接近,用属性创建对象并将其返回。
var myArray = $.map(form_data, function(element) {
var ob = {}; //Create object
ob[element.name] = element.value; //Set element property
return ob;
});
答案 1 :(得分:0)
您是否尝试过以下操作?
var myArray = $.map(form_data, function(element) {
var elem = {};
elem[element.name] = element.value;
return elem;
});