У меня есть массив, который я создал в TypeScript, и у него есть свойство, которое я использую в качестве ключа. Если у меня есть этот ключ, как я могу удалить предмет из него?
arrays
typescript
collections
Тим Алмонд
источник
источник
var index: number = myArray.indexOf(key, 0);
indexOf
возвращает anumber
?index
более одного раза, и одно из этих мест (splice
) хочет увидеть число, или вы получите ошибку. В настоящее время компилятор не может помешать вам делать ошибки тамvar index = myArray.findIndex(x => x.prop==key.prop);
.delete myArr[2]
буквально удаляет свойство2
изmyArr
, которое также отличаетсяmyArr[2] = undefined
. Мораль этой истории - просто использоватьsplice
для этой задачи, потому что это безопасный способ получить желаемый эффект, не путая побочные эффекты.Если массив является типом объектов, то самый простой способ
источник
this.foo_objects = this.foo_objects.filter(obj => obj !== foo_object)[0];
deleteById(id: string) { this.data = this.data.filter(d => d.id !== id); }
Только одно слово предупреждения, если идентификаторы не являются уникальными, вы удалите все с тем жеid
С ES6 вы можете использовать этот код:
источник
Это мое решение для этого:
источник
Вы можете использовать
splice
метод в массиве для удаления элементов.например, если у вас есть массив с именем,
arr
используйте следующее:поэтому здесь элемент с индексом 2 будет отправной точкой, а аргумент 2 определит, сколько элементов будет удалено.
Если вы хотите удалить последний элемент названного массива,
arr
сделайте это:Это вернет arr с последним удаленным элементом.
Пример:
источник
пусть отделы это массив. Вы хотите удалить элемент из этого массива.
источник
Вот простой вкладыш для удаления объекта по свойству из массива объектов.
или
источник
Ответ, используя оператор распространения TypeScript (...)
источник
Еще одно решение с использованием Typescript:
источник
Используйте это, если вам нужно удалить данный объект из массива, и вы хотите быть уверены в следующем:
источник
Просто хотел добавить метод расширения для массива.
источник