在Vue-JS中,我使用的是计算属性,并希望基于键值对过滤数组,这是我的数组,其中包含({{1} }):
data() {}
在此数组中,我具有menu_content: [
{
title: "Dashboard",
icon: "dashboard",
group: false,
},
{
title: "User",
icon: "account_circle",
group: true,
sub_menu_items: [
{
title: "Edit",
sub_group: true,
sub_group_items: [
{
title: "Admin",
icon: "verified_user",
},
],
},
]
}
]
属性,该属性可以是group
或false
,因此我编写了一些代码以根据此键值< / em>与(在true
中)配对:
computed: {}
如果我haveSubGroup() {
this.menu_content.forEach(item => {
if (item.group)
return item.sub_menu_items.filter(sub_item => sub_item.sub_group == true);
});
}
上面的console.log()
语句,它给我一个可观察的,如果我在return
中使用{{ haveSubGroup }}
,我就不会什么都看不到!
答案 0 :(得分:0)
尝试一下:
haveSubGroup() {
this.menu_content.forEach(item => {
return item.group && item.sub_menu_items.some(sub_item => sub_item.sub_group);
});
}
答案 1 :(得分:0)
您知道您正在return
循环中使用该forEach
语句来打破循环,我为您提供了以下解决方案,希望对您有所帮助!
haveSubGroup() {
let temp = [];
this.menu_content.forEach(item => {
if (item.group)
temp.push(item.sub_menu_items.filter(sub_item => sub_item.sub_group == true));
});
return temp[0];
},