将数组传递给JavaScript过滤器函数

cat*_*use 3 javascript arrays filter

假设我有一个像这样的对象数组:

someObj: [
    {
        name: "Obj1",
        type: "a"
    },
    {
        name: "Obj2",
        type: "b"
    },
    {
        name: "Obj3",
        type: "c"
    }
]       
Run Code Online (Sandbox Code Playgroud)

现在我有一个函数,someObj如果传递的参数具有相同的type属性,它应该从数组返回一个对象数组.事情是传递的参数是一个数组,我不知道如何进行比较.

function filter(types) {
  var filtered = someObj.filter(function(item) {

    return item.type == ???

  });       

  return filtered;  
}

filter(["a", "c"]);
Run Code Online (Sandbox Code Playgroud)

我如何比较传递给item.type的数组参数中的每个项目,以便如果它们相等,那么过滤器函数将返回给我一个如下数组:

[
 {
    name: "Obj1",
    type: "a"
 },
 {
    name: "Obj3",
    type: "c"
 }
]
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 6

您可以搜索该类型.

ES5用 Array#indexOf

return types.indexOf(item.type) !== -1;
Run Code Online (Sandbox Code Playgroud)

ES6用 Array#includes

return types.includes(item.type);
Run Code Online (Sandbox Code Playgroud)