--- title: formToObject tags: browser,object,intermediate firstSeen: 2019-03-13T14:50:06+02:00 lastUpdated: 2020-10-19T22:49:51+03:00 --- Encodes a set of form elements as an `object`. - Use the `FormData` constructor to convert the HTML `form` to `FormData` and `Array.from()` to convert to an array. - Collect the object from the array using `Array.prototype.reduce()`. ```js const formToObject = form => Array.from(new FormData(form)).reduce( (acc, [key, value]) => ({ ...acc, [key]: value }), {} ); ``` ```js formToObject(document.querySelector('#form')); // { email: 'test@email.com', name: 'Test Name' } ```