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


Diese Frage hat hier bereits eine Antwort:

Nehmen wir an, wir haben ein Objekt mit diesem Format:

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

Ich wollte eine Funktion ausführen, die mit dem Schlüssel entfernt wird:

removeFromObjectByKey('Cow');

Answers



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

Die folgenden Beispiele machen alle das Gleiche.

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

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

// Example 3
delete thisIsObject.Cow;

Wenn Sie daran interessiert sind, lesen Sie den Abschnitt Verstehen von Löschen für eine ausführliche Erklärung.




Wenn Sie Underscore.js oder Lodash verwenden, gibt es eine Funktion 'weglassen', die das macht.
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');

Verwenden Sie mit reinem JavaScript:

delete thisIsObject['Cow'];

Eine weitere Option mit reinem JavaScript.

thisIsObject.cow = undefined;

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



Wenn Sie eine JavaScript-Shell verwenden, ist es so einfach wie:

delete object.keyname;