722 Stimmen

Wie entferne ich ein Array-Element in TypeScript?

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?

29voto

akash venugopal Punkte 349

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

20voto

Amartya Deshmukh Punkte 201

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);
}

19voto

Jamie Armour Punkte 504

Hier ist eine einfache Anweisung zum Entfernen eines Objekts anhand einer Eigenschaft aus einem Array von Objekten.

delete this.items[this.items.findIndex(item => item.item_id == item_id)];

oder

this.items = this.items.filter(item => item.item_id !== item.item_id);

12voto

Radu Linu Punkte 927

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);
    }

11voto

Mehrere Optionen in Typescript/Javascript, um ein Element aus einem Array zu entfernen. Splice ist die beste Option, da

  1. Es entfernt inline ohne ein neues Objekt zu erstellen
  2. 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));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X