如何从JavaScript对象中删除密钥?

时间:2010-08-11 04:59:03

标签: javascript

假设我们有一个这种格式的对象:

var thisIsObject= {
   'Cow' : 'Moo',
   'Cat' : 'Meow',
   'Dog' : 'Bark'
};

我想做一个按键删除的功能:

removeFromObjectByKey('Cow');

3 个答案:

答案 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"];