Метод Array.from(value) используется для создания нового массива из значения, которое может быть итерируемым объектом (как, например, массив, строка, Set и т. д.). Он работает, когда значение является итерируемым, а formData не является итерируемым объектом. Поэтому Array.from(formData) не работает напрямую.
Однако, есть несколько способов преобразования formData в массив.
1. Применение Array.from() для преобразования итератора formData в массив:
const formData = new FormData(); formData.append("name", "John"); formData.append("age", 30); const formDataArray = Array.from(formData.entries()); console.log(formDataArray); // Вывод: [["name", "John"], ["age", 30]]
В этом примере мы используем метод formData.entries(), который возвращает итератор, содержащий пары ключ-значение из formData. Затем мы применяем Array.from() для преобразования этого итератора в массив. Результат будет массивом с элементами, представляющими каждую пару ключ-значение из formData.
2. Использование spread-оператора:
const formData = new FormData(); formData.append("name", "John"); formData.append("age", 30); const formDataArray = [...formData]; console.log(formDataArray); // Вывод: [["name", "John"], ["age", 30]]
В этом случае мы используем spread-оператор для распыления значений formData в новый массив. Оператор ...formData эквивалентен Array.from(formData.entries()).
3. Преобразование formData в объект и дальнейшая конвертация его свойств в массив:
const formData = new FormData(); formData.append("name", "John"); formData.append("age", 30); const formDataObject = Object.fromEntries(formData); const formDataArray = Object.entries(formDataObject); console.log(formDataArray); // Вывод: [["name", "John"], ["age", 30]]
Здесь мы сначала используем метод Object.fromEntries() для преобразования formData в объект. Затем мы применяем метод Object.entries() для преобразования свойств объекта в массив.
Все эти подходы помогут вам преобразовать formData в массив и работать с данными в удобном формате для дальнейшей обработки в JavaScript.