假设我们有一个具有以下格式的对象:
var thisIsObject= {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
我想做一个按键删除的函数:
removeFromObjectByKey('Cow');
假设我们有一个具有以下格式的对象:
var thisIsObject= {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
我想做一个按键删除的函数:
removeFromObjectByKey('Cow');
当前回答
如果您正在使用Undercore.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 = Object.keys(thisIsObject).filter(key =>
key !== 'cow').reduce((obj, key) =>
{
obj[key] = thisIsObject[key];
return obj;
}, {}
);
其他回答
delete运算符允许您从对象中删除属性。
以下示例都做了相同的事情。
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
让动物={“奶牛”:“哞哞”,“猫”:“喵”,“狗”:“吠叫”};删除动物。奶牛;删除动物[日志];console.log(动物);
如果您感兴趣,请阅读理解删除以获得深入的解释。
如果您正在使用Undercore.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 = Object.keys(thisIsObject).filter(key =>
key !== 'cow').reduce((obj, key) =>
{
obj[key] = thisIsObject[key];
return obj;
}, {}
);
这很简单:
delete object.keyname;
or
delete object["keyname"];