Задать вопрос
@CubaJas
Web-программист

Как заполнить объект из другого объекта свойствами, отмеченными в первом?

Есть массив объектов:

[
  {
    guid: "aaa-111",
    items: [
      {
        id: 1,
        checked: false
      },
      {
        id: 2,
        checked: true
      }
    ]
  },
  {
    guid: "bbb-222",
    items: [
      {
        id: 2,
        checked: true
      },
      {
        id: 3,
        checked: true
      }
    ]
  }
]

Надо заполнить другой объект всеми отмеченными items(checked = true), сохраняя guid:

[
  {
    guid: "aaa-111",
    items: [
      {
        id:2
      }
    ]
  },
  {
    guid: "bbb-222",
    items: [
      {
        id: 2
      },
      {
        id: 3
      }
    ]
  }
]

Или, возможно, computed надо высчитывать?
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
arr.map(n => ({
  ...n,
  items: n.items.filter(m => m.checked).map(m => ({ ...m })),
}))

возможно, computed надо высчитывать?

Если при изменении исходного массива должен обновиться массив c отмеченными элементами, то да, надо:

computed: {
  checkedArr() {
    return this.arr.map(/* ... */);
  },
},
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы