[英]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.