javascript-检查对象是否具有子属性
假设一个像这样的物体javascript-检查对象是否具有子属性,javascript,Javascript,假设一个像这样的物体 var a = { b: { c: [ { e: 'hello' }, { f: 'bye' } ] } }; 我想检查e是否有效 目前我正在使用多个if条件,如 if (typeof a !== 'undefined' && typeof a.b !== 'undefined' && typeof a.b.c !== 'undefine
var a = {
b: {
c: [
{
e: 'hello'
},
{
f: 'bye'
}
]
}
};
我想检查e
是否有效
目前我正在使用多个if
条件,如
if (typeof a !== 'undefined' && typeof a.b !== 'undefined' && typeof a.b.c !== 'undefined' && typeof a.b.c[0] !== 'undefined') {
console.log('value of e ' + a.b.c[0].e);
}
有没有更干净的方法来达到同样的效果
谢谢我不确定你在尝试什么,但你可以用这个来确保有“e”值 或者你可以使用
a = a || {};
if (a && a.b && a.b.c && a.b.c[0] && a.b.c[0].e){
console.log('value of e ' + a.b.c[0].e);
}
如果你对值有把握,我喜欢这个用法
var e = a.b.c[0].e || "no value";
// "hello"
var e = a.b.c[0].d || "no value";
// "no value"
var e = a.b.c[0].e || "no value";
// "hello"
var e = a.b.c[0].d || "no value";
// "no value"