<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
let menus = [
{
name: '河南',
children: [
{
name: '郑州',
children: [
{
name: '金水区'
},
{
name: '中原区'
}
]
},
{
name: '信阳',
children: [
{
name: '淮滨县'
}
]
}
]
},
{
name: '湖北',
children: [
{
name: '武汉市',
children: [
{
name: '武汉火车站'
}
]
},
{
name: '黄石市',
children: [
{
name: '黄冈'
}
]
}
]
}
]
let mmm = JSON.parse(JSON.stringify(menus))
let key = '中原区'
const findTree = ({ tree, field, keyword }) => {
if (!(tree && tree.length)) {
return []
}
let na = []
na = tree.map(item => {
if (item?.[field]?.toString()?.includes(keyword)) {
return item
}
if (item.children && item.children.length) {
const nc = findTree({
tree: item.children,
field,
keyword
})
if (nc && nc.length) {
return {
...item,
children: nc
}
}
return null
}
return null
})
na = na.filter(item => item != null)
return na
}
let newm = findTree({
keyword: key,
tree: menus,
field: 'name'
})
console.log(newm)
</script>
</body>
</html>
查询树状菜单,返回新的树状菜单
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 2020,鼠你最棒,新年新气象,愿我们共同成长,虽有些懈怠,有些想放弃,但心中那个自己还是呼唤着坚持。 也感谢你们...