![](/img/trans.png)
[英]Delete a property from JavaScript object without using delete operator
[英]Function to delete a property from object in javascript
我想编写一个函数,如果删除了对象的属性,它将返回true;对于其他对象,它应该返回false;该函数接受两个参数,对象和属性名称。使用下面的代码可以更清楚地看到它:
var removeObjectProp = function(obj, propName) { if (obj.hasOwnProperty(propName)) { return delete obj.propName; } return false; } var emp = { name: 'jack', age: 12 }; console.log(removeObjectProp(emp, 'name')); console.log(emp)
输出:
True
{name: "jack", age: 12}
age:12
name:"jack"
__proto__:
Object
}
所以我再次得到相同的对象。如果我修改功能:-
var removeObjectProp = function(obj, propName){
return delete obj.propName;
}
并致电
console.log(removeObjectProp (emp,'salary'));
总是返回真。 如何编写函数以删除作为参数传递的对象的属性?
为了delete
属性,如果属性名称是变量中包含的字符串,则需要使用方括号符号来删除属性:
return delete obj[propName];
你会用
delete obj.propName;
仅当propName
是属性的文字名称时,例如
{ name: 'jack', propName: 'foo' }
var removeObjectProp = function(obj, propName) { if (obj.hasOwnProperty(propName)) { return delete obj[propName]; } return false; } var emp = { name: 'jack', age: 12 }; console.log(removeObjectProp(emp, 'name')); console.log(removeObjectProp(emp, 'propThatDoesNotExist')); console.log(emp)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.