Hvordan fjerner jeg en nøgle fra et JavaScript-objekt?

Lad os sige, at vi har et objekt med dette format:

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

Jeg ønskede at lave en funktion, der fjerner efter nøgle:

removeFromObjectByKey('Cow');
Løsning

Operatoren delete giver dig mulighed for at fjerne en egenskab fra et objekt.

De følgende eksempler gør alle det samme.

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

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

// Example 3
delete thisIsObject.Cow;

Hvis du er interesseret, kan du læse Understanding Delete for en uddybende forklaring.

Kommentarer (9)

Hvis du bruger Underscore.js eller Lodash, er der en funktion 'omit' som gør det.
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

Hvis du vil ændre det aktuelle objekt, skal du tildele det tilbagevendende objekt til det aktuelle objekt.

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

Med ren JavaScript skal du bruge:

delete thisIsObject['Cow'];

En anden mulighed med ren JavaScript.

thisIsObject.cow = undefined;

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

Det er lige så nemt som:


delete object.keyname;
```

eller

````js
delete object["keyname"];
```
Kommentarer (0)