Wie kann ich einen Schlüssel aus einem JavaScript-Objekt entfernen?

Sagen wir, wir haben ein Objekt mit diesem Format:

var thisIsObject = {
   'Cow' : 'Moo',
   'Cat' : 'Meow',
   'Dog' : 'Bark'
};

Ich wollte eine Funktion erstellen, die nach Schlüssel entfernt:

removeFromObjectByKey('Cow');
Lösung

Mit dem Operator delete können Sie eine Eigenschaft aus einem Objekt entfernen.

Die folgenden Beispiele bewirken alle das Gleiche.

// Example 1
var key = "Cow";
delete thisIsObject[key]; 

// Example 2
delete thisIsObject["Cow"];

// Example 3
delete thisIsObject.Cow;

Wenn Sie interessiert sind, lesen Sie Understanding Delete für eine ausführliche Erklärung.

Kommentare (9)

Wenn Sie Underscore.js oder Lodash verwenden, gibt es eine Funktion "omit", die dies erledigt.
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

Wenn Sie das aktuelle Objekt ändern möchten, weisen Sie das zurückkehrende Objekt dem aktuellen Objekt zu.

thisIsObject = _.omit(thisIsObject,'Cow');

Bei reinem JavaScript verwenden Sie:

delete thisIsObject['Cow'];

Eine weitere Möglichkeit mit reinem JavaScript.

thisIsObject.cow = undefined;

thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));
Kommentare (11)

Es ist so einfach wie:

delete object.keyname;

oder

delete object["keyname"];
Kommentare (0)