下划线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).
我正在尝试使用下划线 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).