вернуть уникальные значения из массива в vuejs - PullRequest
0 голосов
/ 20 апреля 2020

Я использую Vuejs и Vuex, чтобы вернуть массив объектов item. Элементы могут быть отправлены в базу данных с одним и тем же именем несколько раз. Мне нужно создать список уникальных имен элементов в массиве в Vuejs.

из получателей карты под всеми элементами. Возвращает массив объектов, который выглядит как

[
  {"name": "item one", "number": "001", "size": "4000kb"}
  {"name": "item two", "number": "002", "size": "5000kb"}
  {"name": "item three", "number": "003", "size": "6000kb"}
]


   methods: {
    ...mapActions(["fetchItems"])
  },
  computed: {
    ...mapGetters(["allItems"]),
 itemNames: function() {
      return [...new Set(this.allItems.name)]
    } 
  },
  created() {
    this.fetchItems(),
    this.itemNames()
  },

В вычисляемых свойствах Если itemNames я снимаю .name [..new Set (this.allItems)], массив возвращает полные объекты - как я могу просто вытащить имя из списка?

v-for не вернуть массив

<v-list-item v-for="(itemName, index ) in itemNames" :key="index">
  <v-list-item-content> {{ itemName }}</v-list-item-content>
</v-list-item>

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 21 апреля 2020

Я решил эту проблему в вычисляемых свойствах, сопоставив элементы новому массиву, например:

 itemNames: function() {
      return  [...new Set(this.allItems.map(x => x.item.Name))]
    }
...