Hoe verwijder ik een sleutel uit een JavaScript-object?

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 deletekunt 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"];

Other episodes