使用Vuex getter从数组获取对象

时间:2018-10-21 20:23:01

标签: javascript vue.js vuex

我有一个状态是一个数组。在吸气剂中,我将其过滤并返回与另一状态匹配的对象,如下所示:

selectedItem: state => {
  return state.items.filter(
    item => item.id == state.selectedId
  );
},

但是,filter()返回一个数组,在这种情况下,该数组为我提供了一个对象为selectedId的对象。我可以添加[0]来访问数组中的第一个对象,但这确实很丑陋。还有什么其他方法可以确保在Vuex吸气剂中进行过滤时得到对象而不是数组?

1 个答案:

答案 0 :(得分:5)

您可以改用find方法。它将返回一个对象;如果找不到匹配的对象,则返回undefined

selectedItem: state => {
  return state.items.find(
    item => item.id == state.selectedId
  );
},

docs