我处于从https://jsonplaceholder.typicode.com/todos/
接收数据的状态。我想根据状态completed:true
或completed:false
过滤数据。
我有以下方法来过滤数组:
filterByStatus(status) {
const filteredResults = this.allTodos.filter(todo => todo.completed == status)
console.log(filteredResults)
}
在这里,我收到true
或false
作为方法的参数。但是console.log(filteredResults)
返回一个空数组。
filterByStatus(status) {
let filteredResults = [];
this.allTodos.map(item => {
if (item.completed == status) {
filteredResults.push(item);
}
});
console.log(filteredResults);
}
我也尝试过map方法,但结果是一个空数组。
我有console.log(this.allTodos)
的结果是:
[{…}, {…}, {…}, {…}, {…}, __ob__: Observer]
这是观察者的原因吗?
答案 0 :(得分:0)
我不认为您应该在这里使用地图:
this.allTodos.map(item => {
if (item.completed == status) {
filteredResults.push(item);
}
});
而是forEach
this.allTodos.forEach(item => {
if (item.completed == status) {
filteredResults.push(item);
}
});