2019-11-07
描述
将表单中的一组元素编码为一个 object
。
提示
- 使用
FormData
构造器将 HTML 中的form
转换为FormData
- 使用
Array.from()
将FormData
转化为数组 - 使用
Array.prototype.reduce()
从数组中构建对象
代码
const formToObject = form =>
Array.from(new FormData(form)).reduce(
(acc, [key, value]) => ({
...acc,
[key]: value
}),
{}
);
示例
将 form 表单中的数据转换为 JSON 对象:
formToObject(document.querySelector('#form')); // { email: '[email protected]', name: 'Test Name' }