Question Comment puis-je supprimer une clé d'un objet JavaScript? [dupliquer]


Cette question a déjà une réponse ici:

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');

864
2017-08-11 04:59


origine


Réponses:


le delete L'opérateur 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 vous êtes intéressé, lisez Comprendre Supprimer pour une explication en profondeur.


1543
2017-08-11 05:01



Si vous utilisez Underscore.js ou Lodash, il y a une fonction 'omit' qui va 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 actuel, affectez l'objet retourné à l'objet actuel.

thisIsObject = _.omit(thisIsObject,'Cow');

Avec du JavaScript pur, utilisez:

delete thisIsObject['Cow'];

Une autre option avec du JavaScript pur.

thisIsObject.cow = undefined;

thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));

100
2018-03-01 19:02



Si vous utilisez un shell JavaScript, c'est aussi simple que:

delete object.keyname;

43
2017-12-15 21:38