Disons que nous avons un objet avec ce format:
var thisIsObject= {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Je voulais faire une fonction qui supprime par clé:
removeFromObjectByKey('Cow');
L'opérateur delete
vous permet de supprimer une propriété d'un objet.
Les exemples suivants font tous la même chose.
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
Si cela vous intéresse, lisez nderstanding Delete pour une explication détaillée.
Si vous utilisez Underscore.js ou Lodash, il existe une fonction "omettre" qui le fera.
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
Si vous souhaitez modifier l'objet actuel, affectez l'objet renvoyé à l'objet actuel.
thisIsObject = _.omit(thisIsObject,'Cow');
En JavaScript pur, utilisez:
delete thisIsObject['Cow'];
Une autre option avec du JavaScript pur.
thisIsObject.cow = undefined;
thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
C'est aussi simple que:
delete object.keyname;
ou
delete object["keyname"];