我该如何从JavaScript对象中删除一个键?[重复]

41 浏览
0 Comments

我该如何从JavaScript对象中删除一个键?[重复]

这个问题已有答案:

如何从JavaScript对象中移除属性?

假设我们有一个带有以下格式的对象:

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

我想写一个移除对象键的函数:

removeFromObjectByKey('Cow');

admin 更改状态以发布 2023年5月24日
0
0 Comments

如果您正在使用 Underscore.js 或 Lodash,则可以使用函数“omit”来执行此操作。
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;
    }, {}
);

0
0 Comments

delete 操作符允许你从一个对象中删除一个属性。

以下的例子都实现相同的效果。

// Example 1
var key = "Cow";
delete thisIsObject[key]; 
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;

let animals = {
  'Cow': 'Moo',
  'Cat': 'Meow',
  'Dog': 'Bark'
};
delete animals.Cow;
delete animals['Dog'];
console.log(animals);

如果你感兴趣,可以阅读 理解 Delete 来深入了解。

0