Как обернуть значения ключей объекта в массив
Подскажите, как из значений "products[]":"Applications,VPN", получить значение "products[]":["Applications,VPN"], Значения ключа собирается из мульти select и может содержать много чекнутых options /
Сейчас функция выглядит так function getAllSelectedOptions(selectID, selectName) { let selectedMultiOptionValues = Array.from(selectID.options) .filter(option => option.selected) .map(option => option.value); return formData.append(selectName, selectedMultiOptionValues); } let products = formCreateAccount.querySelector(".js-products"), getAllSelectedOptions(products, 'products[]'); |
Black_Star,
return formData.append(selectName, [selectedMultiOptionValues.join(",")]); |
Black_Star,
или возможно так return formData.append(selectName, `['${selectedMultiOptionValues}']`); нужно знать что на самом деле вам нужно. |
Первый вариант как-то вообще ничего не поменялось в выводе / При втором Выводит
"products[]":"[Applications,VPN]" А на до бы что бы значение ключа было бы в скобках объекта Вот https://jsfiddle.net/ezp2th9g/ |
Black_Star,
не понимаю что не так { products[]: "['Applications,Parental controls,VPN']" } |
Black_Star,
может проблема в том что это невозможно Цитата:
передать можно только строку |
Black_Star,
может json? return formData.append(selectName, JSON.stringify(selectedMultiOptionValues)); |
бэку надо строка / По тому и формат такой дикий
|
Цитата:
Цитата:
|
Цитата:
let o = {"products[]":"Applications,VPN"}; o["products[]"]=[o["products[]"]]; console.log(o); |
Часовой пояс GMT +3, время: 17:14. |