如何在对象的原型中搜索键?

How to search for a key in an object's prototype?

我有一个对象,里面有这样的对象:

obj = {
foo:{x},
bar:{y},

}

我想在子对象原型中搜索键,即在此上下文中的 bar

到目前为止我已经试过了,但没有成功

for(x in obj){
    if(Object.keys(x.prototype).includes("key_to_be_searched")){
       console.log("true")
}
}

偶数记录 x.prototype returns 空数组

我是新手,所以我非常感谢深入的解释或资源,我可以在其中了解更多关于原型的信息。

obj = {
foo:{x},
bar:{y},

}

这不是您在原型内部声明任何内容的方式,属性直接存在于对象内部而不是其原型内部

而不是 x.prototype 只做 x

你可以递归检查:

const obj = {
  foo: { x: 'x' },
  bar: { y: 'y' },
}

const checkObjectProp = (o, p) => Object
  .keys(o)
  .some(k => k === p || (typeof o[k] === 'object' && checkObjectProp(o[k], p)))

// Test
const arr = ['foo', 'y', 'asdfasdf']
arr.forEach(p => console.log(checkObjectProp(obj, p)))