我想在过滤器后立即运行另一个函数,如下所示,可以访问过滤器的结果。我传递的匿名函数不会运行。我知道你可以将一个映射链接到一个过滤器,但我不希望在过滤后逐个遍历数组,只需一次访问整个数组。 jsfiddle
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"]);
答案 0 :(得分:-1)
应该做的工作;)
var vegetables = ["kale", "brocoli", "kale"];
var filteredVegies = vegetables.filter(function myFilter(v){
return v.length > 3;
});
console.log(filteredVegies) // runs after the filtering..
然而,也许意图是以异步方式过滤一些更大的集合,所以在这种情况下,这可能很有趣: