La oss si at vi har et objekt med dette formatet:
var thisIsObject = {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Jeg ønsket å gjøre en funksjon som fjerner etter nøkkel:
removeFromObjectByKey('Cow');
Operatoren delete
lar deg fjerne en egenskap fra et objekt.
De følgende eksemplene gjør alle det samme.
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
Hvis du er interessert, kan du lese Forstå sletting for en grundig forklaring.
Hvis du bruker Underscore.js eller Lodash, er det en funksjon 'omit' som vil gjøre det.
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
Hvis du vil endre det gjeldende objektet, tilordner du det returnerende objektet til det gjeldende objektet.
thisIsObject = _.omit(thisIsObject,'Cow');
Med ren JavaScript, bruk:
delete thisIsObject['Cow'];
Et annet alternativ med ren JavaScript.
thisIsObject.cow = undefined;
thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
Det er så enkelt som:
slett objekt.nøkkelnavn;
eller
slett objekt["nøkkelnavn"];