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?

7voto

Alessandro Punkte 305
let a: number[] = [];

a.push(1);
a.push(2);
a.push(3);

let index: number = a.findIndex(a => a === 1);

if (index != -1) {
    a.splice(index, 1);
}

console.log(a);

6voto

Antwort mit dem TypeScript-Spread-Operator (...) verwenden

// Dein Schlüssel
const key = 'two';

// Dein Array
const arr = [
    'one',
    'two',
    'three'
];

// Erhalte entweder den Index oder -1
const index = arr.indexOf(key); // gibt 0 zurück

// Trotz eines echten Index oder -1, verwenden Sie den Spread-Operator und Array.prototype.slice()
const newArray = (index > -1) ? [
    ...arr.slice(0, index),
    ...arr.slice(index + 1)
] : arr;

6voto

Sh. Pavel Punkte 1554

Noch eine Lösung mit Typescript:

let updatedArray = [];
for (let el of this.oldArray) {
    if (el !== elementToRemove) {
        updated.push(el);
    }
}
this.oldArray = updated;

1voto

leonardosccd Punkte 984
_.pull(array,'a'); 

mit einer Bibliothek lodash https://lodash.com/docs/4.17.15#pull
kompletter Code:

import _ from 'lodash';
const allTagList = ['a','b','b']
_.pull(allTagList, b);
console.log(allTagList) // Ergebnis: ['a']

PS: Lodash bietet viele Operatoren an, empfohlen wird es, diese zu nutzen, um Ihren Code zu vereinfachen. https://lodash.com

1voto

Zia Khan Punkte 133
function myFunction(ID){ 
let index = this.myArray.findIndex(d => d.ID === ID); // Index in Array finden
        console.log('index==',index);
        if (index > -1) {
          console.log('removing at',index);
          this.myArray.splice(index, 1);// Element aus Array entfernen
        }
}

Hinweis: Ihr Array muss eine Eigenschaft namens ID haben... Andernfalls wird -1 zurückgegeben, was bedeutet, dass es nicht gefunden wurde

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