linqjs相交比较问题
linqjs intersect comparer issue
我正在使用 linqjs,我有一个包含要包含在列表中的 ID 的数组,以及一个包含 属性 userId
.
的复杂对象的数组
问题是当我做一个交叉点时它似乎从来没有 return 任何东西,但是 compareSelector
.
周围的信息很少
下面是我正在做的一个例子:
enumerableOfUsers.intersect(listOfIdsToInclude, "$.userId");
所以在上面的例子中 enumerableOfUsers
将是一个现有的可枚举的用户数组(包含 userId
字段),listOfIdsToInclude
是一个 id 值的数组, 比如 ["12345", "213213", "2124"]
等
相交似乎有效,但从来没有 return 任何东西而且我知道 userIds 匹配所以我在这里做错了吗?
问题是比较选择器应用于第一组和第二组的项目。第二组已经是 ID 列表,因此比较选择器不适用。投影产生 undefined
值,这将始终导致找不到结果。
您只需将选择器应用于第一组值。试试这个:
// using linqjs 2.x syntax
var query = enumerableOfUsers.Select("$.userId").Intersect(listOfIdsToInclude);
我正在使用 linqjs,我有一个包含要包含在列表中的 ID 的数组,以及一个包含 属性 userId
.
问题是当我做一个交叉点时它似乎从来没有 return 任何东西,但是 compareSelector
.
下面是我正在做的一个例子:
enumerableOfUsers.intersect(listOfIdsToInclude, "$.userId");
所以在上面的例子中 enumerableOfUsers
将是一个现有的可枚举的用户数组(包含 userId
字段),listOfIdsToInclude
是一个 id 值的数组, 比如 ["12345", "213213", "2124"]
等
相交似乎有效,但从来没有 return 任何东西而且我知道 userIds 匹配所以我在这里做错了吗?
问题是比较选择器应用于第一组和第二组的项目。第二组已经是 ID 列表,因此比较选择器不适用。投影产生 undefined
值,这将始终导致找不到结果。
您只需将选择器应用于第一组值。试试这个:
// using linqjs 2.x syntax
var query = enumerableOfUsers.Select("$.userId").Intersect(listOfIdsToInclude);