如何将回调传递给有权访问过滤器结果的筛选器



我想在过滤器之后立即运行另一个函数,如下所示,该函数可以访问过滤器的结果。我传递的匿名函数没有运行。 我知道您可以将映射链接到过滤器,但我不想一个接一个地迭代数组,只需一次访问整个数组即可。斯菲德尔

var vegetables = ["kale", "brocoli", "kale"];
class Vegies {
  constructor(vegetables) {
    this.vegies = vegetables.filter(function(v){
         return v.length > 3;
    }, function(){
        console.log(this.vegies.length, "doesn't run");
    });
  }
};
var n = new Vegies(["kale", "banana"]);

应该做这项工作;)

var vegetables = ["kale", "brocoli", "kale"];
var filteredVegies = vegetables.filter(function myFilter(v){
   return v.length > 3;
});
console.log(filteredVegies) // runs after the filtering..

异步筛选器

但是,也许目的是以异步方式过滤一些更大的集合,因此在这种情况下,这可能很有趣:

https://www.npmjs.com/package/array-async-filter

最新更新