Передайте объект Javascript с массивом объектов в API

1

Всем добрый день,

Мне нужна помощь в том, как отправить объект с массивом объекта внутри, и массив объекта должен быть из отмеченных мной флажков.

Это мой примерный флажок

<input type="checkbox" name="user.preferences" value="Hard" />
<input type="checkbox" name="user.preferences" value="Soft" />
<input type="checkbox" name="user.preferences" value="Small" />

Мои данные javascript выглядят следующим образом:

user:{ 
    preferences: [] 
}

Когда я предупреждаю user использующего JSON.stringify, я могу увидеть результат примерно так.

{"preferences": ["Soft","Small"]}

Но проблема в том, что api, который я использую, нуждается в таком формате:

{
    "preferences": [
     {
         "preference": "Hard"
     },
     {
         "preference": "Soft"
     },
     // so on and so forth
    ]
}

Пожалуйста, помогите мне. Спасибо

  • 0
    Вы обрабатываете эти данные или они отправляются напрямую через форму?
  • 2
    Вы не должны иметь повторяющиеся значения атрибута id в вашем HTML
Теги:
object
arrays
axios

1 ответ

6
Лучший ответ

Вы должны .map каждую строку в preferences для объекта с таким preference как его ключ/значение:

const user = {
  "preferences": ["Soft", "Small"]
};
user.preferences = user.preferences
  .map(preference => ({ preference }));
console.log(user);
  • 1
    Но мой другой вопрос, как я могу изменить это? от API до моего JavaScript?
  • 2
    Просто сделайте наоборот: .map({ preference }) => preference)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню