【发布时间】:2021-06-26 06:40:17
【问题描述】:
我的任务是创建一个函数来检查对象中是否存在特定属性。我不明白为什么当数字对象中明显存在“b”时,第二个日志返回 false。如果有人可以向我解释解决方案会很高兴:)
const existInObject = (obj = {}, prop) => {
for (const key in obj) {
if(key === prop) {
return true;
} else {
return false;
}
}
};
const numbers = {
a: 5,
b: 4,
}
const result1 = existInObject(numbers, "a");
const result2 = existInObject(numbers, "b");
console.log(result1, result2); // true, false
【问题讨论】:
-
内置的
hasOwnProperty()方法不是做你想做的吗? -
您在第一次迭代时返回,因此您只检查第一个属性是否匹配,而不是任何对象匹配。
-
const existInObject = (obj = {}, prop) => obj.hasOwnProperty(prop);developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript function object properties conditional-statements