Stel dat we een object hebben met dit formaat:
var thisIsObject= {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Ik wilde een functie uitvoeren die met een toets verwijdert:
removeFromObjectByKey('Cow');
Antwoord 1, autoriteit 100%
De delete
kunt u een eigenschap van een object verwijderen.
De volgende voorbeelden doen allemaal hetzelfde.
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
Als je geïnteresseerd bent, lees dan Verwijderen begrijpenvoor een uitgebreide uitleg.
Antwoord 2, autoriteit 9%
Als u Underscore.js of Lodash gebruikt, is er een functie ‘weglaten’ die dit doet.
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
Als u het huidige object wilt wijzigen, wijst u het terugkerende object toe aan het huidige object.
thisIsObject = _.omit(thisIsObject,'Cow');
Gebruik puur JavaScript:
delete thisIsObject['Cow'];
Een andere optiemet puur JavaScript.
thisIsObject = Object.keys(thisIsObject).filter(key =>
key !== 'cow').reduce((obj, key) =>
{
obj[key] = thisIsObject[key];
return obj;
}, {}
);
Antwoord 3, autoriteit 5%
Het is zo eenvoudig als:
delete object.keyname;
of
delete object["keyname"];