下划线js的IN(SQL)操作是怎么做的?

How do you do the IN (SQL) operation using underscore js?

我正在尝试使用下划线 js 查询 json,我有点卡住了。我想像 SQL 一样进行 IN 操作,但我不确定如何使用 _.where 函数进行操作。

例如,

在 SQL 中查询如下:

where n = 10 AND color in ('red', 'pink', 'black');

但是当用下划线写这个时我不能这样做(记录集是一个对象数组)

_.where( recordset, { n: 10, color: 'red' || 'pink' || 'black'});

这只是给我 n = 10 且颜色仅为红色的对象。还有其他方法吗?

提前致谢

let colors = ['red', 'pink', 'black']
let resultset = _.select(recordset, e => e.n === 10 && _.contains(colors, e.color))

或在较旧的 js 中

var resultset = _.select(recordset, function (e) {
    return e.n === 10 && _.contains(['red', 'pink', 'black'], e.color);
});

_.select 接受一个数组作为第一个参数(相当于 SQL 中的 FROM)和一个返回 true/false 的函数作为第二个参数(相当于WHERE 在 SQL).