Javascript 使用Vuex getter从数组中获取对象
我有一个状态块,它是一个数组。在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]来访问数组中的第一个对象,但这是一个非常难看的攻击。
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()
在这个场景中是对这个问题的一个完美而简短的回答。