0

我有对象和数组:

const response = [
   { id: 1, product: 'EL' },
   { id: 2, product: 'AC' },
   { id: 3, product: 'AC' },
   { id: 4, product: 'AD' },
   { id: 5, product: 'DE' },
];
const elProd = [
    "EL"
    "DE"
];

我想过滤掉在 elProd 数组中有产品代码的产品。

我的期望如下:

const response = [

    { id: 2, product: 'AC' },
    { id: 3, product: 'AC' },
    { id: 4, product: 'AD' },
   
];

我尝试了什么:

 response.filter(obj => {return obj.product == elProd .includes(obj.product)})
4

5 回答 5

1

你几乎明白了,但你有一个错字。您需要在elProd数组中使用逗号。这是代码:

const response = [
    { id: 1, product: "EL" },
    { id: 2, product: "AC" },
    { id: 3, product: "AC" },
    { id: 4, product: "AD" },
    { id: 5, product: "DE" },
];
const elProd = [
    "EL", // <-- Add the comma.
    "DE",
];

// Don't forget to negate the includes here to exclude those you don't want.
const filtered = response.filter((obj) => !elProd.includes(obj.product));

// Result.
console.log(filtered);

于 2020-07-30T10:11:09.317 回答
1

您只需要包含的检查。

const
    response = [{ id: 1, product: 'EL' }, { id: 2, product: 'AC' }, { id: 3, product: 'AC' }, { id: 4, product: 'AD' }, { id: 5, product: 'DE' }],
    elProd = ["EL", "DE"],
    result = response.filter(obj => !elProd.includes(obj.product));
    
console.log(result);

于 2020-07-30T10:06:24.393 回答
1

const response = [{
    id: 1,
    product: 'EL'
  },
  {
    id: 2,
    product: 'AC'
  },
  {
    id: 3,
    product: 'AC'
  },
  {
    id: 4,
    product: 'AD'
  },
  {
    id: 5,
    product: 'DE'
  },
];
const elProd = [
  "EL",
  "DE"
];
const filteredresp = response.filter((resp) => elProd.indexOf(resp.product) !== -1);
console.log(filteredresp);

于 2020-07-30T10:07:56.530 回答
1
response.filter(obj => {return !elProd.includes(obj.product)});
于 2020-07-30T10:08:32.757 回答
0

你可以使用filtersome

const response = [
  { id: 1, product: 'EL' },
  { id: 2, product: 'AC' },
  { id: 3, product: 'AC' },
  { id: 4, product: 'AD' },
  { id: 5, product: 'DE' },
];
const elProd = [
   "EL",
   "DE"
]

res=response.filter(o=>!elProd.some(p=>o.product==p))
console.log(res)

于 2020-07-30T10:09:19.593 回答