实现 removeProperty 函数,它接受一个对象和一个属性名称并执行以下操作:
如果对象 obj 具有属性 prop,它会从对象中删除该属性。如果该属性已被删除,则返回 true;否则返回 false。
这段代码有什么问题?
function removeProperty(obj,prop) {
if(obj.hasOwnProperty('prop'))
{
console.log(obj);
delete obj.prop;
return true;
}
else
{
return false;
}
}
var obj= {
name:"John"
};
removeProperty({obj,'name'});
原文由 mukesh dommati 发布,翻译遵循 CC BY-SA 4.0 许可协议
预期的代码是:
解释:
hasOwnProperty() 方法返回一个布尔值,指示对象是否具有指定的属性作为自己的(非继承的)属性。因此要验证自己的和继承的属性以及 在.
括号表示法将是比 obj.prop 更好的选择。由于方括号表示法允许使用不能与点表示法一起使用的字符(如数字),并且它还允许使用变量选择属性。在当前情况下,应使用括号表示法。