This question already has answers here:
Test for existence of nested JavaScript object key
(56个答案)
在11个月前关闭。
说我有这个对象:
如何使用
我希望有这样的东西:
我的目标是如果不是所有属性都没有
(56个答案)
在11个月前关闭。
说我有这个对象:
myObj = {
level1: {
level2: {
name: 'Frank'
}
}
};
如何使用
hasOwnProperty()
检查对象的多个深度。像这样的作品:if (myObj.hasOwnProperty('level1') {
if (myObj.hasOwnProperty('level2') {
if (myObj.hasOwnProperty('name') {
console.log(myObj.level1.level2.name)
}
}
}
我希望有这样的东西:
myObj.hasOwnProperty(['level1', 'level2', 'name']);
myObj.hasOwnProperty('level1.level2.name);
我的目标是如果不是所有属性都没有
console.log(myObj.level1.level2.name)
,那么您也可以通过为hasOwnProperty
提供替代来回答此问题。 最佳答案
您可以关闭对象并检查键。
const check = o => k => [o.hasOwnProperty(k), o = (o || {})[k]][0];
var myObj = { level1: { level2: { name: 'Frank' } } };
console.log(['level1', 'level2', 'name'].every(check(myObj)));
console.log(['level1', 'level3', 'name'].every(check(myObj)));
关于javascript - 如何在hasOwnProperty中使用多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54476087/
10-12 14:07