Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不是';t洛达斯';s uu.unique在我拾取一个对象字段时返回唯一的对象?_Javascript_Coffeescript_Unique_Lodash - Fatal编程技术网

Javascript 为什么不是';t洛达斯';s uu.unique在我拾取一个对象字段时返回唯一的对象?

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

我用的是lodash's,但效果不理想。我正在这样做:

uniqueByFocusIndex = _.unique(clickables, false, "focusIndex");
正如您在图中所看到的(看右边),它返回了两个元素,它们的
focusIndex
es的值相同。我希望这会返回两个中的一个,而不是两个。这是因为
\uu0.unique
仅适用于基本体而不适用于对象吗


单击展开:

它不起作用,因为比较对象是通过引用完成的,即使对象的内容相同,也会返回false

使用字符串进行回调将使用
pulk
回调样式检查这些值,但对该键下的那些对象的比较将始终为false

我试图通过其他回调找到一种方法来实现这一点,但我认为您最好只编写自己的
uniq
函数来满足您的需要。

是您可能需要的,这样您就可以使用

\uuqwith(可点击,isEqual)


中有人建议,是的,我想你知道了一些事情。不过,请检查我的答案,以找到解决方案。@tiety我尝试了许多不同的方法来让它工作,但无法确定
uniq
是如何实现的。在您的回答中,即使您将其中一个对象(
x
从1更改为2),它仍然会给出相同的(现在是错误的)结果。