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
][1] 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 vous êtes intéressé, lisez [Comprendre la suppression][2] pour une explication approfondie.
[1] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete [2] : http://perfectionkills.com/understanding-delete/
Si vous utilisez Underscore.js ou Lodash, il existe une fonction "omit" qui permet de le faire.
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 voulez modifier l'objet courant, assignez l'objet de retour à l'objet courant.
thisIsObject = _.omit(thisIsObject,'Cow');
Avec du JavaScript pur, utilisez :
delete thisIsObject['Cow'];
Autre option avec du JavaScript pur.
thisIsObject.cow = undefined;
thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
C'est aussi simple que ça :
``js supprimer le nom de l'objet ;
ou
``js
supprimer l'objet["keyname"] ;