Почему не работает Array.from(value) при переводе formData в массив?

Метод 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.