我正在努力学习反应,所以我知道这不是制作副本的最佳方式,但为什么不做以下工作:
var allItems = this.state.items;
allItems =allItems.filter(function(e){return e;});
我不断得到过滤器不是一个功能
答案 0 :(得分:1)
由于this.state.items
是一个Object而不是一个数组,因此你需要像这样循环键:
var filteredArray = [];
Object.keys(allItems).forEach(function(key) {
// do something with each item
console.log(key + ': ' + allItems[key]);
// like add it to a filtered array, conditionally if you want to:
filteredArray.push(allItems[key]);
});