Javascript 为什么不是';t洛达斯';s uu.unique在我拾取一个对象字段时返回唯一的对象?
我用的是lodash's,但效果不理想。我正在这样做:Javascript 为什么不是';t洛达斯';s uu.unique在我拾取一个对象字段时返回唯一的对象?,javascript,coffeescript,unique,lodash,Javascript,Coffeescript,Unique,Lodash,我用的是lodash's,但效果不理想。我正在这样做: uniqueByFocusIndex = _.unique(clickables, false, "focusIndex"); 正如您在图中所看到的(看右边),它返回了两个元素,它们的focusIndexes的值相同。我希望这会返回两个中的一个,而不是两个。这是因为\uu0.unique仅适用于基本体而不适用于对象吗 单击展开:它不起作用,因为比较对象是通过引用完成的,即使对象的内容相同,也会返回false 使用字符串进行回调将使用pul
uniqueByFocusIndex = _.unique(clickables, false, "focusIndex");
正如您在图中所看到的(看右边),它返回了两个元素,它们的focusIndex
es的值相同。我希望这会返回两个中的一个,而不是两个。这是因为\uu0.unique
仅适用于基本体而不适用于对象吗
单击展开:它不起作用,因为比较对象是通过引用完成的,即使对象的内容相同,也会返回false 使用字符串进行回调将使用
pulk
回调样式检查这些值,但对该键下的那些对象的比较将始终为false
我试图通过其他回调找到一种方法来实现这一点,但我认为您最好只编写自己的uniq
函数来满足您的需要。是您可能需要的,这样您就可以使用
\uuqwith(可点击,isEqual)
在中有人建议,是的,我想你知道了一些事情。不过,请检查我的答案,以找到解决方案。@tiety我尝试了许多不同的方法来让它工作,但无法确定
uniq
是如何实现的。在您的回答中,即使您将其中一个对象(x
从1更改为2),它仍然会给出相同的(现在是错误的)结果。