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?

1voto

supernerd Punkte 264

Nur einen Erweiterungsmethode für ein Array hinzufügen.

Schnittstelle Array {
      entfernen(element: T): Array;
    }

    Array.prototype.remove = function (element) {
      const index = this.indexOf(element, 0);
      if (index > -1) {
        return this.splice(index, 1);
      }
      return this;
    };

0voto

Sayef Reyadh Punkte 11

Wir können die Logik implementieren, indem wir filter und includes verwenden

const checkAlpha2Code = ['BD', 'NZ', 'IN']

let countryAlpha2Code = ['US', 'CA', 'BD', 'NZ', 'AF' , 'AR' , 'BR']

/**
 * Gibt das modifizierte Array countryAlpha2Code zurück 
 * nach Entfernen der Elemente, die mit checkAlpha2Code übereinstimmen
 */
countryAlpha2Code = countryAlpha2Code.filter(alpha2code => {
    return !checkAlpha2Code.includes(alpha2code);
});
console.log(countryAlpha2Code)
// Ausgabe: [ 'US', 'CA', 'AF', 'AR', 'BR' ]

// Werte zurücksetzen
countryAlpha2Code = ['US', 'CA', 'BD', 'NZ', 'AF' , 'AR' , 'BR']

/**
 * Gibt das modifizierte Array countryAlpha2Code zurück 
 * welches nur Elemente mit checkAlpha2Code übereinstimmt
 */
countryAlpha2Code = countryAlpha2Code.filter(alpha2code => {
    return checkAlpha2Code.includes(alpha2code);
});

console.log(countryAlpha2Code)
// Ausgabe: [ 'BD', 'NZ' ]

0voto

Brackets Punkte 376

Ich sehe viele Beschwerden, dass die Methode remove nicht eingebaut ist. In Betracht ziehen, anstelle von einem Array Set zu verwenden - es hat die Methoden add und delete eingebaut.

0voto

Michael Freidgeim Punkte 23629

Ähnlich wie Abdus Salam Azads Antwort, aber mit dem Array als Parameter von //https://love2dev.com/blog/javascript-remove-from-array/

function arrayRemove(arr:[], value:any) { 

    return arr.filter(function(ele){ 
        return ele != value; 
    });
}

0voto

Yisi Tan Punkte 199

Du kannst zuerst versuchen, den Index oder die Position der Liste oder des Arrays zu erhalten und dann eine for-Schleife verwenden, um das aktuelle Array einer temporären Liste zuzuweisen, unerwünschte Elemente zu filtern und die gewünschten Elemente wieder im Originalarray zu speichern

removeItem(index) {
    var tempList = this.uploadFile;
    this.uploadFile = [];

    for (var j = 0; j < tempList.length; j++) {
      if (j != index)
        this.uploadFile.push(tempList[j]);
    }
  }

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