Javascript 所选元素在哪些元素中?

Javascript 所选元素在哪些元素中?,javascript,angular,typescript,Javascript,Angular,Typescript,我有一个数组。数组中的元素表示菜单元素。我想根据我选择的菜单项创建“面包屑”。但是,它在工作时在3个深度后动态提供错误 //我的数组 常数menuArray=[{ “标签”:“仪表板” }, { “标签”:“产品”, “项目”:[{ “标签”:“所有产品” }, { “标签”:“新产品” }, { “标签”:“产品类别” } ] }, { “标签”:“帖子”, “项目”:[{ “标签”:“所有帖子” }, { “标签”:“新帖子” }, { “标签”:“帖子类别” } ] }, { “标签”:

我有一个数组。数组中的元素表示菜单元素。我想根据我选择的菜单项创建“面包屑”。但是,它在工作时在3个深度后动态提供错误

//我的数组
常数menuArray=[{
“标签”:“仪表板”
},
{
“标签”:“产品”,
“项目”:[{
“标签”:“所有产品”
},
{
“标签”:“新产品”
},
{
“标签”:“产品类别”
}
]
},
{
“标签”:“帖子”,
“项目”:[{
“标签”:“所有帖子”
},
{
“标签”:“新帖子”
},
{
“标签”:“帖子类别”
}
]
},
{
“标签”:“滑块”
},
{
“标签”:“设置”,
“项目”:[{
“标签”:“常规设置”
},
{
“标签”:“用户”,
“项目”:[{
“标签”:“您的个人资料”
},
{
“标签”:“编辑配置文件”
}
]
},
{
“标签”:“社交环境”
},
{
“标签”:“链接设置”
}
]
}
];
//我实验的函数
writeParent(事件,arr){
设ct=0;
让发现=错误;
让parentsLine=[];
arr.some((e)=>{
parentsLine=[];
设curr=e;
for(curr;curr.items!=null;curr=curr.items[0]){
如果(event.label==curr.label){
发现=真;
返回true;
}
父行推送(当前标签);
}
如果(event.label==curr.label){
发现=真;
返回true;
}
});
如果(找到){
回归亲子线;
}否则{
返回“ERR:elm未找到”;
}
}
console.log(writeParent({
“标签”:“编辑配置文件”

})我已经解决了这个问题

menuArray=[{
“标签”:“仪表板”
},
{
“标签”:“产品”,
“项目”:[{
“标签”:“所有产品”
},
{
“标签”:“新产品”
},
{
“标签”:“产品类别”
}
]
},
{
“标签”:“帖子”,
“项目”:[{
“标签”:“所有帖子”
},
{
“标签”:“新帖子”
},
{
“标签”:“帖子类别”
}
]
},
{
“标签”:“滑块”
},
{
“标签”:“设置”,
“项目”:[{
“标签”:“常规设置”
},
{
“标签”:“用户”,
“项目”:[{
“标签”:“您的个人资料”
},
{
“标签”:“编辑配置文件”
}
]
},
{
“标签”:“社交环境”
},
{
“标签”:“链接设置”
}
]
}
];
函数查找(数组、事件){
if(数组类型!=“未定义”){
for(设i=0;ilog(find(menuArray,{“label”:“editprofile”})那么代码在哪里?你必须使用reduce函数@epascarello对不起,我忘了。我刚刚添加了它。
some
用于返回数组中的任何元素是否导致给定方法返回true。因为您没有使用结果,所以它看起来好像您没有按照预期使用它一样使用
some
,这通常是一个坏主意。如果只想迭代,请使用
forEach
;如果要创建新数组,请使用
map
;如果要聚合,请使用
reduce