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

496 B

formToObject

Encode a set of form elements as a object.

  1. Convert the HTML form to FormData()
  2. Convert FormData() to Array using Array.from()
  3. 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' }