496 B
496 B
formToObject
Encode a set of form elements as a object.
- Convert the HTML form to
FormData() - Convert
FormData()toArrayusingArray.from() - We collect an object from an array using
Array.prototype.reduce()
const formToObject = form =>
Array.from(new FormData(form))
.reduce((acc, [key, value]) => ({
...acc,
[key]: value,
}), {})
formToObject(document.querySelector('#form')) // { email: 'test@email.com', name: 'Test Name' }