Come rimuovo una chiave da un oggetto JavaScript?


Questa domanda ha già una risposta qui:

Diciamo che abbiamo un oggetto con questo formato:

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

Volevo fare una funzione che rimuova per chiave:

removeFromObjectByKey('Cow');


Answers



L'operatore di delete consente di rimuovere una proprietà da un oggetto.

I seguenti esempi fanno tutti la stessa cosa.

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

// Example 2
delete thisIsObject["Cow"];

// Example 3
delete thisIsObject.Cow;

Se sei interessato, leggi Informazioni su Elimina per una spiegazione approfondita.




Se stai usando Underscore.js o Lodash, c'è una funzione 'ometti' che lo 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 si desidera modificare l'oggetto corrente, assegnare l'oggetto di ritorno all'oggetto corrente.

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

Con puro JavaScript, usare:

delete thisIsObject['Cow'];

Un'altra opzione con puro JavaScript.

thisIsObject.cow = undefined;

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



Se stai usando una shell JavaScript, è facile come:

delete object.keyname;