javascript 中的 LINQ WHERE 子句等效项

Hum*_*Ali 9 javascript linq arrays

我希望从我的 javascript 数组“lstObj”中提取信息,如下所示:

[
  {
    "DealerId": "1",
    "Type": "Apple,Orange"
  },
  {
    "DealerId": "2",
    "Type": "Mango"
  },
  {
    "DealerId": "3",
    "Type": "Mango"
  }
]
Run Code Online (Sandbox Code Playgroud)

我想检查是否存在 Type = Mango 且 DealerID not = 2 的商品。在 C# linq 中,我会执行以下操作:

if(lstObj.Any(x=>x.Type.Split(',').Contains("Mango") && x.DealerID != 2))
{
      //Do something
}
Run Code Online (Sandbox Code Playgroud)

我如何使用 javascript 实现相同的效果?

Sim*_*ulj 13

这应该可以。如果没有项目,它将返回空数组,否则将返回项目。

let result = lstObj.filter(dealer =>  dealer.Type.split(',').includes('Mango') && dealer.DealerId != 2);
Run Code Online (Sandbox Code Playgroud)

let result = lstObj.filter(dealer =>  dealer.Type.split(',').includes('Mango') && dealer.DealerId != 2);
Run Code Online (Sandbox Code Playgroud)


oct*_*ccl 1

您可以使用some

var result= array.some(function (item) {
    return  item.Type.split(",").includes("Mango") && item.DealerID != 2;
});
Run Code Online (Sandbox Code Playgroud)