输入:
[[-1,-1,2],[-1,0,1],[-1,-1,2],[-1,0,1],[-1,-1,2],[-1,0,1],[-1,0,1]]
我想要的输出:
[[-1,-1,2],[-1,0,1]]
任何其他的想法,除了这一个?
谢谢
Ber*_*rgi 11
你不会真正解决数组的字符串化问题,因为这是通过值比较它们的最简单(而且速度相当快)的方法.所以我会去
Array.from(new Set(input.map(JSON.stringify)), JSON.parse)
另请参阅从JavaScript数组中删除重复项以获取其他方法,但其中大多数方法都需要两个值进行比较===.
已经有一个很好的实用程序,试试Lodash,它的功能之一是 _.uniqWith,使用该功能您可以执行以下操作。
<script src="/path/to/lodash.js"></script>
<script>
    var aa = [[-1,-1,2],[-1,0,1],[-1,-1,2],[-1,0,1],[-1,-1,2],[-1,0,1],[-1,0,1]];
    console.log(aa);
    console.log(_.uniqWith(aa,_.isEqual));
</script>
魔法
d.filter(( t={}, a=> !(t[a]=a in t) ));
我假设您的输入数据在array中d。在这里解释。
d.filter(( t={}, a=> !(t[a]=a in t) ));
| 归档时间: | 
 | 
| 查看次数: | 4809 次 | 
| 最近记录: |