hasOwnProperty
解释:hasOwnProperty()
方法返回一个布尔值,表示对象自有属性(而不是继承来的属性)中是否具有指定的属性。
用法:
对象名称.hasOwnProperty('属性名字')
在写代码会遇到判断对象类型变量是否含有某个属性,比如遍历时候用到的是否还有下一层级children属性表示等。
这边有一个业务,当头部某个导航项有多个层级的时候,把子层级在侧边栏展示,下面是一个简单实现
let showAside = false; //侧边栏是否展示
//头部导航数据
let menuList = [
{
name: "首页",
path: "/main",
},
{
name: "模块二",
path: "path2",
children: [
{
name: "模块2-1",
path: "/path2-1",
},
{
name: "模块2-2",
path: "/path2-2",
},
],
},
];
//头部导航数据的点击事件里面,有children就把children赋值
function selectHeadMenu(path) {
menuList.forEach((item) => {
if (item.path == path && item.hasOwnProperty("children")) {
//true则会进入判断进行下一步处理
showAside = true;
//侧边栏的赋值操作
}
});
}