Digamos que temos um objecto com este formato:
var thisIsObject = {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Eu queria fazer uma função que removesse por chave:
removeFromObjectByKey('Cow');
O operador delete
permite remover uma propriedade de um objeto.
Os exemplos seguintes fazem todos a mesma coisa.
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
Se você estiver interessado, leia Entendendo Apagar para uma explicação detalhada.
Se você estiver usando o Underscore.js ou Lodash, há uma função 'omitir' que o fará.
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
Se desejar modificar o objeto atual, atribuir o objeto que retorna ao objeto atual.
thisIsObject = _.omit(thisIsObject,'Cow');
Com puro JavaScript, use:
delete thisIsObject['Cow'];
**Outra opção*** com puro JavaScript.
thisIsObject.cow = undefined;
thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
É tão fácil como:
apagar o object.keyname;
ou
delete object["keyname"];