如何使用过滤器进行双循环?

Jul*_*uez 1 javascript ecmascript-6

我正在创建这个函数,它只返回那些属性“a”值不在另一个排除数字数组(实际上是字符串)中的对象(来自对象数组)

我意识到我需要双重迭代,试图在过滤器内嵌套一个过滤器但没有成功。我不得不使用 OR 运算符对其进行硬编码,如下所示:

const arr = [{a:"1"},{a:"2"},{a:"3"}]

const filtered = (arr)=>{
  const ex = ["1","2"]

  return arr.filter(e =>   !e.a.includes(ex[0] || ex[1]))
  
}
console.log(filtered(arr));
Run Code Online (Sandbox Code Playgroud)

我怎样才能正确循环它,这样我就不必使用||运算符?

谢谢

Bar*_*mar 6

你不需要两个循环。你有includes倒退。

return arr.filter(e => !ex.includes(e.a))
Run Code Online (Sandbox Code Playgroud)