Files
30-seconds-of-code/snippets/formToObject.md
2019-03-13 15:50:06 +03:00

25 lines
542 B
Markdown

### formToObject
Serializes a form into an object.
First we transform the `form` into `FormData`, then we convert it into an `array` and from the `array` we collect an `object`
```js
const formToObject = form =>
Array.from(new FormData(form))
.reduce((acc, [key, value]) => ({
...acc,
[key]: value,
}), {})
```
```html
<form id="form">
<input name="email" type="email" />
<input name="name" />
</form>
```
```js
formToObject(document.querySelector('#form')) // { email: 'test@email.com', name: 'Test Name' }
```