Mam tablicę, którą utworzyłem w TypeScript i ma właściwość, której używam jako klucza. Jeśli mam ten klucz, jak mogę usunąć z niego przedmiot?
arrays
typescript
collections
Tim Almond
źródło
źródło
var index: number = myArray.indexOf(key, 0);
indexOf
zwrot anumber
?index
w więcej niż jednym miejscu i jedno z tych miejsc (splice
) chce zobaczyć numer lub otrzymasz błąd. Obecnie kompilator nie może zapobiec popełnieniu błędów.var index = myArray.findIndex(x => x.prop==key.prop);
.delete myArr[2]
dosłownie usuwa właściwość2
omyArr
, która jest inna niżmyArr[2] = undefined
. Morałem tej historii jest po prostu wykorzystaniesplice
do tego zadania, ponieważ jest to bezpieczny sposób na uzyskanie pożądanego efektu bez mylących skutków ubocznych.Jeśli tablica jest typem obiektów, to najprostszym sposobem jest
źródło
this.foo_objects = this.foo_objects.filter(obj => obj !== foo_object)[0];
deleteById(id: string) { this.data = this.data.filter(d => d.id !== id); }
Jedno słowo ostrzeżenia, jeśli identyfikatory nie są unikalne, usuniesz wszystkie z tym samymid
W ES6 możesz użyć tego kodu:
źródło
Oto moje rozwiązanie:
źródło
Możesz użyć
splice
metody z tablicy, aby usunąć elementy.na przykład, jeśli masz tablicę z nazwą,
arr
użyj następującego polecenia:więc tutaj element z indeksem 2 będzie punktem początkowym, a argument 2 określi, ile elementów należy usunąć.
Jeśli chcesz usunąć ostatni nazwany element tablicy,
arr
wykonaj następujące czynności:Zwróci to arr z ostatnim elementem usuniętym.
Przykład:
źródło
niech departamenty to tablica. Chcesz usunąć element z tej tablicy.
źródło
Oto prosty jeden linijka do usuwania obiektu według właściwości z tablicy obiektów.
lub
źródło
Odpowiedz za pomocą operatora rozprzestrzeniania TypeScript (...)
źródło
Jeszcze jedno rozwiązanie za pomocą Typescript:
źródło
Użyj tego, jeśli chcesz usunąć dany obiekt z tablicy i chcesz mieć pewność, że:
źródło
Chciałem tylko dodać metodę rozszerzenia dla tablicy.
źródło