Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как обернуть значения ключей объекта в массив (https://javascript.ru/forum/misc/82229-kak-obernut-znacheniya-klyuchejj-obekta-v-massiv.html)

Black_Star 05.04.2021 17:20

Как обернуть значения ключей объекта в массив
 
Подскажите, как из значений "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[]');

рони 05.04.2021 17:28

Black_Star,
return formData.append(selectName, [selectedMultiOptionValues.join(",")]);

рони 05.04.2021 17:33

Black_Star,
или возможно так
return formData.append(selectName, `['${selectedMultiOptionValues}']`);


нужно знать что на самом деле вам нужно.

Black_Star 05.04.2021 18:07

Первый вариант как-то вообще ничего не поменялось в выводе / При втором Выводит
"products[]":"[Applications,VPN]" А на до бы что бы значение ключа было бы в скобках объекта

Вот
https://jsfiddle.net/ezp2th9g/

рони 05.04.2021 18:49

Black_Star,
не понимаю что не так
{
  products[]: "['Applications,Parental controls,VPN']"
}

рони 05.04.2021 18:58

Black_Star,
может проблема в том что это невозможно
Цитата:

Сообщение от Black_Star
значение ключа было бы в скобках объекта

?

передать можно только строку

рони 05.04.2021 19:00

Black_Star,
может json?
return formData.append(selectName, JSON.stringify(selectedMultiOptionValues));

Black_Star 05.04.2021 19:06

бэку надо строка / По тому и формат такой дикий

рони 05.04.2021 19:08

Цитата:

Сообщение от Black_Star
бэку надо строка

Цитата:

Сообщение от Black_Star
в скобках объекта

знать бы что вам надо?)))

ksa 05.04.2021 19:16

Цитата:

Сообщение от Black_Star
как из значений "products[]":"Applications,VPN", получить значение "products[]":["Applications,VPN"]

Как вариант... :)
let o = {"products[]":"Applications,VPN"};
o["products[]"]=[o["products[]"]];
console.log(o);


Часовой пояс GMT +3, время: 17:14.