remove item from stored array in angular 2
You can't use delete
to remove an item from an array. This is only used to remove a property from an object.
You should use splice to remove an element from an array:
deleteMsg(msg:string) {
const index: number = this.data.indexOf(msg);
if (index !== -1) {
this.data.splice(index, 1);
}
}
I think the Angular 2 way of doing this is the filter method:
this.data = this.data.filter(item => item !== data_item);
where data_item is the item that should be deleted
Don't use delete
to remove an item from array and use splice()
instead.
this.data.splice(this.data.indexOf(msg), 1);
See a similar question: How do I remove a particular element from an array in JavaScript?
Note, that TypeScript is a superset of ES6 (arrays are the same in both TypeScript and JavaScript) so feel free to look for JavaScript solutions even when working with TypeScript.
<tbody *ngFor="let emp of $emps;let i=index">
<button (click)="deleteEmployee(i)">Delete</button></td>
and
deleteEmployee(i)
{
this.$emps.splice(i,1);
}
You can use like this:
removeDepartment(name: string): void {
this.departments = this.departments.filter(item => item != name);
}