我试图通过广度优先搜索获得邻居列表(具体来说:Block'd中相同颜色的邻居球的索引)我function getWholeList(ballid)返回一个像
thelist=["ball_1","ball_13","ball_23","ball_1"]
Run Code Online (Sandbox Code Playgroud)
当然还有重复.
我试图用jQuery.unique()删除它们; 但是我觉得它不能用于字符串,所以有没有办法(使数组唯一)?
谢谢你的帮助..
可能重复:
javascript中数组交集的最简单代码
假设我有阵列:
[0,1]
Run Code Online (Sandbox Code Playgroud)
和
[1,2,3]
Run Code Online (Sandbox Code Playgroud)
我需要验证这些数组是否具有公共元素,对于这种情况,它将是 1
使用jQuery我按照以下方式检查:
1.获取第一个数组的长度
2.获取第二个数组的长度
3.合并数组
4.获取合并数组的长度
5.如果合并数组的长度不等于2个初始数组,那么它们有共同的元素
一行代码是:
(event2Zone[0].length+event2Zone[1].length)==$.unique($.merge(event2Zone[0].zo,event2Zone[1].zo)).length
Run Code Online (Sandbox Code Playgroud)
是否有更标准或更优雅的方式来执行相同的操作?
我正在开发一个允许用户选择多个"卡片"的界面.每张卡都有一个"数据名称"属性,也可能有相应的菜单项.如果他们在主视图中选择卡片,它也会突出显示菜单项目.点击某些内容后,我将"selected"类添加到其中.然后,我获取所有"选定"项目并计算唯一数据名称属性以获取所选实际项目的数量.
选择最多5个项目时,这非常有效.出于某种原因,在第6项上,unique()函数似乎停止正常工作.我无法用jsfiddle复制这个问题,但是代码有点复杂,因为本地我也处理"类型",但我认为这与问题无关.
所以这里是我选择第5项后相关数组的一些截图.
在这里您可以看到所有选定的项 正如预期的那样,有10个.此断点就在unique()调用之前.

在这里您可以看到唯一的选定项 正如预期的那样,有5个.

然后我按照预期选择第6个...... 12

Aaand现在我们有一个神秘的复制品!为什么???

这种情况始终如一 每一次.请注意,我最后选择的项目无关紧要.我添加了多达10个虚拟物品,它总是第6个被弄糊涂了.