我正在尝试学习反应,所以我知道这不是制作副本的最佳方法,但为何以下工作不起作用:

var allItems = this.state.items;
allItems =allItems.filter(function(e){return e;});


我不断收到过滤器不是功能

最佳答案

由于this.state.items是一个对象,而不是一个数组,因此您需要像这样遍历键:

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]);
});

关于javascript - 过滤器无法使用匿名功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47621070/

10-10 15:22