Povedzme, že máme objekt s týmto formátom:
var thisIsObject = {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Chcel som urobiť funkciu, ktorá odstraňuje podľa kľúča:
removeFromObjectByKey('Cow');
Operátor delete
umožňuje odstrániť vlastnosť z objektu.
Nasledujúce príklady robia to isté.
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
Ak vás to zaujíma, prečítajte si Understanding Delete, kde nájdete podrobné vysvetlenie.
Ak používate Underscore.js alebo Lodash, existuje funkcia 'omit', ktorá to urobí.
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
Ak chcete upraviť aktuálny objekt, priraďte vracajúci objekt k aktuálnemu objektu.
thisIsObject = _.omit(thisIsObject,'Cow');
V prípade čistého jazyka JavaScript použite:
delete thisIsObject['Cow'];
Ďalšia možnosť s čistým JavaScriptom.
thisIsObject.cow = undefined;
thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
Je to také jednoduché ako:
delete object.keyname;
alebo
delete object["keyname"];