Javascript 使用Vuex getter从数组中获取对象

Javascript 使用Vuex getter从数组中获取对象,javascript,vue.js,vuex,Javascript,Vue.js,Vuex,我有一个状态块,它是一个数组。在getter中,我过滤它并返回一个与另一个状态匹配的对象,如下所示: selectedItem: state => { return state.items.filter( item => item.id == state.selectedId ); }, 但是,filter()返回一个数组,在本例中,该数组提供一个包含一个对象的数组,即带有selectedId的项。我可以添加[0]来访问数组中的第一个对象,但这是一个非常难看的攻击。

我有一个状态块,它是一个数组。在getter中,我过滤它并返回一个与另一个状态匹配的对象,如下所示:

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

但是,
filter()
返回一个数组,在本例中,该数组提供一个包含一个对象的数组,即带有
selectedId的项。我可以添加
[0]
来访问数组中的第一个对象,但这是一个非常难看的攻击。在Vuex getter中进行过滤时,是否有其他方法确保获得的是对象而不是数组?

您可以使用
find
方法。如果找不到匹配的对象,它将返回一个对象或
未定义的

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

是的,
find()
在这个场景中是对这个问题的一个完美而简短的回答。