如何解决如何创建一个函数来检查对象中是否存在属性?
我的任务是创建一个函数来检查对象中是否存在特定属性。我不明白为什么当数字对象中明显存在 '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
解决方法
它不起作用的原因是因为 Barmar 所说的,“您在第一次迭代时返回,因此您只检查第一个属性是否匹配,而不检查是否有任何对象匹配”.您必须遍历所有键以查看是否存在匹配项,然后返回结果。
const existInObject = (obj = {},prop) => {
var result = false;
for (const key in obj) {
if(key === prop) {
result = true;
}
}
return result
};
const numbers = {
a: 5,b: 4,}
const result1 = existInObject(numbers,"a");
const result2 = existInObject(numbers,"b");
const result3 = existInObject(numbers,"c");
console.log(result1,result2,result3); // true,true,false
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。