javascript中的LINQ WHERE子句等价
我希望从javascript数组'lstObj'中提取如下信息: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")
[
{
"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;
});
我添加了完整的代码片段,以便您可以查看它。