要将jQuery serializeArray的格式进行转换,您可以编写一个自定义函数来处理结果。以下是一个示例函数,它将serializeArray的输出转换为所需的格式:
function convertSerializeArrayFormat(serializeArray) {
const result = {};
$.each(serializeArray, function (index, field) {
const key = field.name;
const value = field.value;
// 如果结果对象中已经存在该键,则将其值设置为数组(如果它还不是一个数组)
if (result[key]) {
if (!Array.isArray(result[key])) {
result[key] = [result[key]];
}
result[key].push(value);
} else {
result[key] = value;
}
});
return result;
}
// 使用示例
const serialized = $('#your-form').serializeArray();
const converted = convertSerializeArrayFormat(serialized);
console.log(converted);
这个convertSerializeArrayFormat
函数接收一个serializeArray对象作为输入,然后遍历它的每个元素。对于每个元素,它将元素的name
属性作为新对象的键,将value
属性作为值。如果键已经存在于结果对象中,它会将值添加到该键对应的数组中(如果它还不是一个数组)。最后,函数返回转换后的对象。