js树形菜单根据id,判断是否存在上级。
时间: 2024-12-23 12:18:04 浏览: 3
在JavaScript中,如果你有一个树形菜单数据结构,比如嵌套的对象数组,其中每个节点包含一个`id`属性和其他可能表示层级关系的信息(如`parentId`),你可以通过遍历这个数组并对比节点的`id`来判断某个节点是否有上级。以下是一个简单的示例:
```javascript
// 假设我们有以下树形菜单数据
const menuItems = [
{ id: '1', parentId: '', name: '根节点' },
{ id: '2', parentId: '1', name: '一级节点1' },
{ id: '3', parentId: '1', name: '一级节点2' },
{ id: '4', parentId: '2', name: '二级节点1' },
// 更多项...
];
function hasParentById(id, items) {
for (let item of items) {
if (item.id === id && item.parentId !== '') {
return true; // 找到了一个有上级的节点
}
}
return false; // 没找到上级节点
}
// 使用示例
console.log(hasParentById('2', menuItems)); // 输出:true
console.log(hasParentById('5', menuItems)); // 输出:false
```
在这个函数`hasParentById`中,我们检查给定`id`的节点是否`parentId`不为空,如果是,则说明该节点有上级。如果没有找到这样的节点,返回`false`。
阅读全文