Как сформировать выборку в json и хранения данных для дальнейшего использования с помощью angular?

У нас есть поле select которое имеет список имен, а также в зависимости от выбора имени дает выбрать детали в отдельном поле select
<div class="form-group">
                <label>Имя</label>
                <select ng-model="user.name" 
                            ng-options=" name.name for name in names">
                </select>
              </div>
              <div class="form-group">
                <label>Режим</label>
                <select ng-model="switches.mode" 
                            ng-options="mode.name as mode.name for mode in user.name.modes">
                </select>
              </div>

Names имеет следующую структуру:
{

       "name": "hello",

       "modes": [

          {

              "name": "mode1"

          }

      ]

   }

Но нужно, чтобы создавался json такого формата:
{
             "name": "hello",
             "mode": "mode1"
         }

Можно ли это сделать красиво и без костылей средствами Angular?
  • Вопрос задан
  • 313 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
все чем вам может помочь angular это angular.forEach и angular.copy. а так map/reduce.

names.map(function (name) {
    // можно и без reduce, просто забрать у первого элемента массива значение, 
    // это просто как пример
    name.mode = name.modes.reduce(function (result, item) { return item.name; });
    delete name.modes;
    return name;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы