Ich habe ein Array, das ich in TypeScript erstellt habe, und es hat eine Eigenschaft, die ich als Schlüssel verwende. Wie kann ich einen Artikel entfernen, wenn ich diesen Schlüssel habe?
arrays
typescript
collections
Tim Almond
quelle
quelle
var index: number = myArray.indexOf(key, 0);
indexOf
Rückgabe anumber
?index
an mehr als einer Stelle und eine dieser Stellen (splice
) möchte eine Nummer sehen, oder Sie erhalten eine Fehlermeldung. Derzeit kann der Compiler nicht verhindern, dass Sie dort Fehler machen.var index = myArray.findIndex(x => x.prop==key.prop);
.delete myArr[2]
buchstäblich gelöscht , was sich auch von unterscheidet . Die Moral dieser Geschichte besteht darin, sie nur für diese Aufgabe zu verwenden, da dies ein sicherer Weg ist, um den gewünschten Effekt zu erzielen, ohne die Nebenwirkungen zu verwirren.2
myArr
myArr[2] = undefined
splice
Wenn Array ein Objekttyp ist, ist dies der einfachste Weg
quelle
this.foo_objects = this.foo_objects.filter(obj => obj !== foo_object)[0];
deleteById(id: string) { this.data = this.data.filter(d => d.id !== id); }
Nur ein Wort der Warnung, wenn IDs nicht eindeutig sind, werden Sie alle mit dem gleichen entfernenid
Mit ES6 können Sie diesen Code verwenden:
quelle
Es ist meine Lösung dafür:
quelle
Sie können die
splice
Methode für ein Array verwenden, um die Elemente zu entfernen.Wenn Sie beispielsweise ein Array mit dem Namen haben,
arr
verwenden Sie Folgendes:Hier ist also das Element mit Index 2 der Ausgangspunkt und das Argument 2 bestimmt, wie viele Elemente gelöscht werden sollen.
Wenn Sie das letzte Element des genannten Arrays löschen möchten,
arr
gehen Sie folgendermaßen vor:Dies gibt arr mit dem zuletzt gelöschten Element zurück.
Beispiel:
quelle
Abteilungen lassen ist ein Array. Sie möchten ein Element aus diesem Array entfernen.
quelle
Hier ist ein einfacher Einzeiler zum Entfernen eines Objekts nach Eigenschaften aus einem Array von Objekten.
oder
quelle
Antworten Sie mit dem TypeScript-Spread-Operator (...)
quelle
Eine weitere Lösung mit Typescript:
quelle
Verwenden Sie diese Option, wenn Sie ein bestimmtes Objekt aus einem Array entfernen müssen und Folgendes sicherstellen möchten:
quelle
Ich wollte nur eine Erweiterungsmethode für ein Array hinzufügen.
quelle