Files
30-seconds-of-code/snippets/formToObject.md
2020-09-15 21:52:00 +03:00

567 B

title, tags
title tags
formToObject browser,object,intermediate

Encode a set of form elements as an object.

  • Use the FormData constructor to convert the HTML form to FormData, Array.from() to convert to an array.
  • Collect the object from the 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' }