Lad os sige, at vi har et objekt med dette format:
var thisIsObject = {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Jeg ønskede at lave en funktion, der fjerner efter nøgle:
removeFromObjectByKey('Cow');
Operatoren delete
giver dig mulighed for at fjerne en egenskab fra et objekt.
De følgende eksempler gø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 interesseret, kan du læse Understanding Delete for en uddybende forklaring.
Hvis du bruger Underscore.js eller Lodash, er der en funktion 'omit' som gør 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 ændre det aktuelle objekt, skal du tildele det tilbagevendende objekt til det aktuelle objekt.
thisIsObject = _.omit(thisIsObject,'Cow');
Med ren JavaScript skal du bruge:
delete thisIsObject['Cow'];
En anden mulighed med ren JavaScript.
thisIsObject.cow = undefined;
thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
Det er lige så nemt som:
delete object.keyname;
```
eller
````js
delete object["keyname"];
```