Linqjs 与比较器问题相交
linqjs intersect comparer issue
>我正在使用linqjs,我有一个充满id的数组要包含在列表中,还有一个充满复杂对象的数组,这些对象的属性userId
。
问题是当我做一个交叉点时,它似乎永远不会返回任何东西,但是compareSelector
周围的信息很少。
所以这是我正在做的事情的一个例子:
enumerableOfUsers.intersect(listOfIdsToInclude, "$.userId");
因此,在上面的示例中,enumerableOfUsers
将从用户数组(包含userId
字段)创建的现有枚举对象,listOfIdsToInclude
是 id 值数组,如 ["12345", "213213", "2124"]
等。
相交似乎有效,但从不返回任何内容,我知道 userId 匹配,所以我在这里做错了什么吗?
问题是比较选择器同时应用于第一组和第二组的项目。 第二组已经是 ID 列表,因此比较选择器不适用。 投影生成undefined
值,这些值将始终导致未找到结果。
只需将选择器应用于第一组值。 试试这个:
// using linqjs 2.x syntax
var query = enumerableOfUsers.Select("$.userId").Intersect(listOfIdsToInclude);
相关文章:
- Backbone.js比较器函数是'工作不正常
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 在获取后将新模型准备到集合中(不带比较器)
- 主干中的比较器在添加新模型时需要排序调用
- Linqjs 与比较器问题相交
- 记住比较器函数的参数顺序的技巧是什么
- 覆盖主干网.js比较器
- Backbone.js-排序和迭代-比较器不工作
- LINQ.JS,Except的比较器选择器
- 使用“”对字符串进行排序;小于/大于“;比较器中的比较运算符
- 主干:使用比较器反向采集顺序
- I'm在if语句中使用小于比较器;然而,即使它不应该;t、 它的评估结果为false
- WebVR Boilerplate问题-管理器没有在VRMode中渲染,相机看起来很直,全屏只渲染一半的窗口
- 如何使用“>"AngularJS ng-if语句中的比较器
- 将两个模型与一个模型传递到主干比较器,并进行字母数字排序
- Backbone Collection:自定义比较器
- 如何为javascript排序函数制作一个高效的比较器来对字符串数组进行排序
- JIRA问题收集器
- 如何使用比较器按多个属性排序
- 使用比较器排序是否比使用key- function排序更好?