Ich habe ein Array, das ich in TypeScript erstellt habe, und es hat eine Eigenschaft, die ich als Schlüssel verwende. Wenn ich diesen Schlüssel habe, wie kann ich ein Element daraus entfernen?
Antworten
Zu viele Anzeigen?Sie können die splice
-Methode auf einem Array verwenden, um die Elemente zu entfernen.
Zum Beispiel, wenn Sie ein Array mit dem Namen arr
haben, verwenden Sie folgendes:
arr.splice(2, 1);
hier wird das Element mit dem Index 2 der Startpunkt sein und das Argument 1 wird bestimmen, wie viele Elemente gelöscht werden sollen.
Wenn Sie das letzte Element des Arrays mit dem Namen arr
löschen möchten, tun Sie dies:
arr.splice(arr.length-1, 1);
Dies wird arr mit dem letzten Element gelöscht zurückgeben.
Beispiel:
var arr = ["orange", "mango", "banana", "sugar", "tea"];
arr.splice(arr.length-1, 1)
console.log(arr); // gibt ["orange", "mango", "banana", "sugar"] zurück
Dies hat bei mir funktioniert.
Dein Array:
DummyArray: any = [
{ "id": 1, "name": 'A' },
{ "id": 2, "name": 'B' },
{ "id": 3, "name": 'C' },
{ "id": 4, "name": 'D' }
]
Funktion:
remove() {
this.DummyArray = this.DummyArray.filter(item => item !== item);
}
Hinweis: Diese Funktion löscht alle Objekte aus deinem Array. Wenn du ein spezifisches Objekt aus dem Array löschen möchtest, verwende diese Methode:
remove(id) {
this.DummyArray = this.DummyArray.filter(item => item.id !== id);
}
Verwenden Sie dies, wenn Sie ein bestimmtes Objekt aus einem Array entfernen möchten und sicherstellen möchten, dass Folgendes zutrifft:
- die Liste wird nicht neu initialisiert
-
die Array-Länge richtig aktualisiert wird
const objWithIdToRemove; const objIndex = this.objectsArray.findIndex(obj => obj.id === objWithIdToRemove); if (objIndex > -1) { this.objectsArray.splice(objIndex, 1); }
Mehrere Optionen in Typescript/Javascript, um ein Element aus einem Array zu entfernen. Splice ist die beste Option, da
- Es entfernt inline ohne ein neues Objekt zu erstellen
- Es aktualisiert die Länge des Arrays ordnungsgemäß (lässt keine leeren null-Elemente zurück)
Im Folgenden finden Sie ein Beispiel zum Entfernen eines Objekts basierend auf einem Feld in einem Objektarray unter Verwendung der Splice-Funktion
const persons = [
{
firstName :'John',
lastName :'Michel'
},
{
firstName :'William',
lastName :'Scott'
},
{
firstName :'Amanda',
lastName :'Tailor'
}
]
console.log('Vor dem Löschen: '+JSON.stringify(persons));
console.log('Lösche William:');
persons.splice(persons.findIndex(item => item.firstName === 'William'),1);
console.log('Nach dem Löschen von William: '+JSON.stringify(persons));