"any of list" selector in LINQ.JS

46 Views Asked by At

I'm looking for something like SQL "in" operator in LINQ.JS. Consider below array:

var fruits = [
    {name:"apple"       , color:"red" }  
    {name:"banana"      , color:"yellow" } 
    {name:"cucumber"    , color:"green" }  
    {name:"cherry"      , color:"red" }  
    {name:"strawberry"  , color:"red" }  
    {name:"orange"      , color:"orange" }  
    {name:"lemon"       , color:"yellow" }  
    {name:"tangerin"    , color:"orange" }  
    {name:"grape"       , color:"purple" }
]

I need a LINQ.JS command to get all red and yellow fruits. I need something like this SQL command:

select * from fruits where color in ('red','yellow')
1

There are 1 best solutions below

0
S-- On

let fruits = [
    {name:"apple"       , color:"red" },  
    {name:"banana"      , color:"yellow" }, 
    {name:"cucumber"    , color:"green" },  
    {name:"cherry"      , color:"red" },  
    {name:"strawberry"  , color:"red" },  
    {name:"orange"      , color:"orange" },  
    {name:"lemon"       , color:"yellow" },  
    {name:"tangerin"    , color:"orange" },  
    {name:"grape"       , color:"purple" }
];

let searchValues = ["orange", "red"];
let fieldName = "color"

console.log(fruits.filter(fruit => searchValues.some(value => value === fruit[fieldName])));