我正在尝试使用下划线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的对象,颜色只有红色。还有其他办法吗?
提前致谢
答案 0 :(得分:2)
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的函数作为第二个参数(相当于SQL中的WHERE
)