2016-05-31 12 views
-1

Ich bin ziemlich neu in JavaScript/AngularJS, ich möchte ein Objekt in einem Objekt löschen.Löschen eines Objekts in einem Objekt

Lasst uns dies zum Beispiel nehmen:

var heroes = { 
    0: { 
     name: 'Batman', 
     gender: 'M' 
    }, 
    1: { 
     name: 'Superman', 
     gender: 'M' 
    }, 
    3: { 
     name: 'Catwoman', 
     gender: 'F' 
    } 
}; 

Ich möchte das Objekt löschen, wenn gender == 'F'.

for(var hero of heroes) { 
    if(hero.gender == 'F') { 
     //Delete her 
    } 
} 

delete hero nicht funktioniert, ich habe:

SyntaxError: applying the 'delete' operator to an unqualified name is deprecated

+0

Bitte verwenden Sie die Suche, bevor Sie eine neue Frage stellen: [ '[Javascript] entfernen property'] (https://stackoverflow.com/search? q =% 5Bjavascript% 5D + Entfernen + Eigenschaft). –

+1

Sind Sie sicher, dass Sie eine 'for ... of'-Schleife haben? Sie arbeiten standardmäßig nicht mit Objekten. Verwende 'für ... in'. –

+1

Nichts wie eine Änderung, die die Frage von der ursprünglich angeforderten ändert. – epascarello

Antwort

0

Verwenden Sie die delete operator

delete heroes[3] 

Wenn Sie nicht wissen, den Schlüssel:

Object.keys(heroes).forEach(function (key) { //loop over the keys 
    if (heroes[key].name==="Catwoman") {  //compare the name 
     delete heroes[key];     //remove the entry 
    } 
}); 
0

Verwenden delete Bediener.

The deleteoperator removes a property from an object.

delete heroes['3']; 
0
delete heroes[3]; 

Verwenden oben Code

Verwandte Themen