首页 > 解决方案 > 过滤对象中的多个值

问题描述

我需要按多个值过滤一个对象。

对象示例:

items: [
{
url: "https://...",
id: "1693",
type: "ABC",
currencyCode: "SEK",
longName: "Abc",
name: "ABC",
micCode: "DEF",
listingDate: "2018-05-25T00:00:00+02:00",
subType: "STOCK",
  market: {
   id: "NOROTC"
},
}
.....

如果我过滤一个值就可以了:

var market = data.filter(item => item.market.id === 'NOROTC');

但我需要做的是:

var market = data.filter(item => item.market.id === 'NOROTC' && item.market.id === 'NGM');

我在 stackoverflow 上发现了一些类似的帖子,但它们似乎都不适用于我的情况。有没有聪明的方法来做到这一点?我也试过 _.filter() 但没有成功......

标签: javascriptnode.jsjsonfiltering

解决方案


请检查以下示例:

var items = [{
    name: 'Amit',
    id: 101
  },
  {
    name: 'Amit',
    id: 1011
  },
  {
    name: 'Arthit',
    id: 102
  },
  {
    name: 'Misty',
    id: 103
  },
]

var filteredData = items.filter(item => item.name == 'Amit' || item.name== 'Misty');

console.log(filteredData)


推荐阅读