[英]filter array of object from another array with multiple elements in javascript
I have object and an array:我有 object 和一个数组:
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"
];
i want to filter out the product which has product code in elProd array.我想过滤掉在 elProd 数组中有产品代码的产品。
my expectation is below:我的期望如下:
const response = [
{ id: 2, product: 'AC' },
{ id: 3, product: 'AC' },
{ id: 4, product: 'AD' },
];
what I tried:我尝试了什么:
response.filter(obj => {return obj.product == elProd .includes(obj.product)})
You need only the check with includes.您只需要包含的检查。
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);
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);
response.filter(obj => {return !elProd.includes(obj.product)});
You almost got it, but you have a typo.你几乎明白了,但你有一个错字。 You need a comma in the
elProd
array.您需要在
elProd
数组中使用逗号。 Here's the code:这是代码:
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);
You could use filter
and some
你可以使用
filter
和some
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.