假设我们有一个这种格式的对象:
var thisIsObject= {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
我想做一个按键删除的功能:
removeFromObjectByKey('Cow');
答案 0 :(得分:1890)
delete
运算符允许您从对象中删除属性。
以下示例都做同样的事情。
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
如果您有兴趣,请阅读Understanding Delete以获得深入的解释。
答案 1 :(得分:138)
如果您使用的是Underscore.js或Lodash,则有一个功能“省略”'这样做。
http://underscorejs.org/#omit
var thisIsObject= {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
_.omit(thisIsObject,'Cow'); //It will return a new object
=> {'Cat' : 'Meow', 'Dog' : 'Bark'} //result
如果要修改当前对象,请将返回对象指定给当前对象。
thisIsObject = _.omit(thisIsObject,'Cow');
使用纯JavaScript,使用:
delete thisIsObject['Cow'];
使用纯JavaScript的另一个选项。
thisIsObject.cow = undefined;
thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
答案 2 :(得分:61)
这很简单:
(1) delete object.keyname;
(2) delete object["keyname"];