为什么 _.difference 返回所有项目
Why is _.difference returning all the items?
我有两个列表,oldPanodatas
和newPanodatas
。我只想获取newPanodatas
中不存在的对象oldPanodatas
.我这样做了:
var filteredPanodatas = _.difference(newPanodatas, oldPanodatas)
但是我得到了所有项目,_.difference
没有过滤任何内容:
OLD: Object {roomModelId: "56a9e0088ac247005538d6d3", x: 262, index: 1, y: 211, panoDataRotate: 0…}
OLD: Object {roomModelId: "56a9e0088ac247005538d6d3", x: 177, index: 0, y: 182, panoDataRotate: 0…}
NEW: Object {index: 0, x: 177, y: 182, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}
NEW: Object {index: 1, x: 262, y: 211, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}
NEW: Object {index: 2, x: 200, y: 200, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}
FILTERED: Object {index: 0, x: 177, y: 182, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}
FILTERED: Object {index: 1, x: 262, y: 211, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}
FILTERED: Object {index: 2, x: 200, y: 200, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}
这是为什么呢?实现我想要的目标的正确方法是什么?
尝试使用 differceWith
,isEqual
比较器,用于将数组元素与值进行比较
_.differenceWith(newPanodatas, oldPanodatas, _.isEqual);
代码示例,
var old = [{roomModelId: "56a9e0088ac247005538d6d3", x: 262, index: 1, y: 211, panoDataRotate: 0}, {roomModelId: "56a9e0088ac247005538d6d3", x: 177, index: 0, y: 182, panoDataRotate: 0}];
newobj = [{index: 0, x: 177, y: 182, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}, {index: 1, x: 262, y: 211, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}, {index: 2, x: 200, y: 200, roomModelId: "56a9e0088ac247005538d6d3", panoDataRotate: 0}];
r = _.differenceWith(newobj, old, _.isEqual);
r
的结果
[{index: 2, panoDataRotate: 0, roomModelId: "56a9e0088ac247005538d6d3", x: 200, y: 200}]
相关文章:
- 从mysql数据库中删除项目,然后返回最后一页
- 谷歌地图API'.pac项目:first'返回格式不正确
- 如何使复选框项目返回超链接
- vars返回的警报“;长度“;或“;项目”;
- $scope.item don't在第页中向ng重复返回项目
- 为什么 javascript matches() 返回多个项目
- 在 cordova 项目中,我正在使用文件传输插件上传个人资料照片,它总是返回代码 1 错误
- 尽管在正则表达式中使用了全局修饰符,但只有一个项目返回
- $.getJSON 返回了选定的项目
- Javascript 比较两个大小不同的数组,并返回不在第二个数组中的项目
- 下划线.js在对象数组中查找唯一值;返回唯一项目及其计数
- switch 语句以仅在项目类型更改时返回结果
- 仅在选择器中可见的项目始终返回 -1
- 为什么 _.difference 返回所有项目
- 将项目返回到数组中
- 选择第 1 页上的项目 2 将返回第 2 页上的项目 1
- 如何通过限制和降序创建At获取返回的项目索引
- 在 ajax call-JavaScript 中返回的 100 个项目的限制
- 如何单击图像网格中的项目并在不同的容器 - Javascript 中返回所选图像
- Cordova&SQLite-所有行项目返回为'未定义'