javascript中的LINQ WHERE子句等价

javascript中的LINQ WHERE子句等价,javascript,arrays,linq,Javascript,Arrays,Linq,我希望从javascript数组'lstObj'中提取如下信息: [ { "DealerId": "1", "Type": "Apple,Orange" }, { "DealerId": "2", "Type": "Mango" }, { "DealerId": "3", "Type": "Mango" } ] if(lstObj.Any(x=>x.Type.Split(',').Contains("Mango")

我希望从javascript数组'lstObj'中提取如下信息:

[
  {
    "DealerId": "1",
    "Type": "Apple,Orange"
  },
  {
    "DealerId": "2",
    "Type": "Mango"
  },
  {
    "DealerId": "3",
    "Type": "Mango"
  }
]
if(lstObj.Any(x=>x.Type.Split(',').Contains("Mango") && x.DealerID != 2))
{
      //Do something
}
我想检查是否有Type=Mango且DealerID not=2的项目。 在C#linq中,我会这样做:

[
  {
    "DealerId": "1",
    "Type": "Apple,Orange"
  },
  {
    "DealerId": "2",
    "Type": "Mango"
  },
  {
    "DealerId": "3",
    "Type": "Mango"
  }
]
if(lstObj.Any(x=>x.Type.Split(',').Contains("Mango") && x.DealerID != 2))
{
      //Do something
}

如何使用javascript实现同样的功能?

这样就可以了。如果没有项目,它将返回未定义的项目,否则它将返回项目

let result = lstObj.filter(dealer => {return dealer.Type.split(',').includes('Mango') && dealer.DealerId != 2});
让lstObj=[
{
“DealerId”:“1”,
“类型”:“苹果,橙色”
},
{
“DealerId”:“2”,
“类型”:“芒果”
},
{
“DealerId”:“3”,
“类型”:“芒果”
}
]
让result=lstObj.filter(dealer=>{return-dealer.Type.split(',')。包括('Mango')和&dealer.DealerId!=2})

console.log(结果)
您可以使用
一些

var result= array.some(function (item) {
    return  item.Type.split(",").inlcudes("Mango") && item.DealerID != 2;
});

我添加了完整的代码片段,以便您可以查看它。