我有一個數組從JSON文件中獲取數據。我可以將一組對象存儲到我的Task[]
中。現在我想通過狀態('已提交'或'已解決'等)來檢索數據。我嘗試了很多方法,但無法實現。請幫幫我。angular2打字對象數組按值過濾
data: [{
taskname: 'Test1',
taskId: '1',
status: 'Submitted'
}, {
taskname: 'Test2',
taskId: '2',
status: 'Resolved'
}, {
taskname: 'Test3',
taskId: '4',
status: 'Submitted'
}, {
taskname: 'Test4',
taskId: '5',
status: 'In Progress'
}, {
taskname: 'Test5',
taskId: '6',
status: 'Resolved'
}, {
taskname: 'Test6',
taskId: '7',
status: 'Submitted'
}
}]
Task.ts
export interface Task {
taskId: any;
taskname: any;
status: any;
}
taskService.ts
getTask() {
return this.http.get('../app/common/task.json')
.toPromise()
.then(res => <Task[]> res.json().data)
.then(data => {
return data;
});
}
taskCompnent.ts
export class TaskComponent implements OnInit {
taskList: Task[];
datasource: Task[];
sortedList: Task[];
ngOnInit() {
this.taskService.getTask().then(files => this.files = files);
this.vecService.getData().then(taskList => {
this.datasource = taskList;
this.taskList = this.datasource; // Storing data into my task list array
});
}
}
這是我試圖通過狀態進行過濾:
提示以下錯誤:this.sortedList = this.taskList.filter(
task => task.status ==='Submitted');
示值誤差:
Cannot read property 'filter' of undefined
可能的複製[爲什麼是我的變量不變後,我修改它在函數中? - 異步代碼引用](https://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron) –