如何获取“未过滤”的数组项?

Ser*_*rov 4 javascript

假设我有一个数组,我通过调用对其进行过滤myItems.filter(filterFunction1)并从中获取一些项目。

然后我想filterFunction2对未选择的剩余项目运行另一个过滤功能filterFunction1

是否可以获取调用过滤函数后剩下的剩余项目?

dec*_*eze 10

您必须使用反向谓词重新运行过滤器,这似乎很浪费。您应该reduce将这些物品放入以下两个箱子之一:

const result = arr.reduce((res, item) => {
    res[predicate(item) ? 'a' : 'b'].push(item);
    return res;
}, { a: [], b: [] });
Run Code Online (Sandbox Code Playgroud)

predicate这是您要给的回调filter