编写一个名为“getProperty”的函数。给定一个对象和一个键, “getProperty”返回给定键的属性值。
function getProperty(objects, key) {
if (objects.includes(key) == false) {
var property;
} else {
property = objects.key;
}
return property;
}
答案 0 :(得分:1)
适当的缩进清楚地表明定义 property
的块不包括任何您尝试使用它的地方。
答案 1 :(得分:0)
.includes() 不是检查这个的函数。它是一个用于查找值的数组函数。你想要hasOwnProperty()
此外 objects.key
将赋予对象的 key
属性。您应该使用 computed property names。
function getProperty(objects, key) {
if (objects.hasOwnProperty(key) == false)
{ var property;
} else {
property = objects[key];
}
return property;
}
console.log(getProperty({ 'a': 2}, 'a' ));
console.log(getProperty({ 'a': 2}, 'b' ));
这应该可以工作,因为 var
被悬挂在顶部。即使从内部如果条件。您可以想象 property
在顶部具有值 undefined
。稍后,如果第一个条件为真,则什么都不会发生并返回 undefined
,否则设置并返回对象的正确属性值。
答案 2 :(得分:0)
如果它存在,你可以添加一个检查吗?
if(property){
return property;
}
或者只是在 if() 之外声明属性,使用 let。
let property = null;
if (objects.includes(key) == false) {
property;
}
这应该有效