Javascript 如何获得元素顺序唯一的嵌套数组?

Javascript 如何获得元素顺序唯一的嵌套数组?,javascript,Javascript,我有一个数组。如何获得元素顺序唯一的嵌套数组 我所拥有的: [[1, 2], [1, 2, 3], [3, 4]] 预期产出: [[1, 2, 3], [3, 4]] 我认为,我可以格式化为JSON,并使用filter和indexOf获得结果,我尝试了以下方法: var unique = x2.map(ar=>JSON.stringify(ar).replace(/[\[\]']+/g,'')) .filter((itm, idx, arr) => arr.indexOf(i

我有一个数组。如何获得元素顺序唯一的嵌套数组

我所拥有的:

[[1, 2], [1, 2, 3], [3, 4]]
预期产出:

[[1, 2, 3], [3, 4]]
我认为,我可以格式化为JSON,并使用filter和indexOf获得结果,我尝试了以下方法:

var unique = x2.map(ar=>JSON.stringify(ar).replace(/[\[\]']+/g,''))
  .filter((itm, idx, arr) => arr.indexOf(itm) === idx);

这是我的尝试,我首先按照数组的长度对数组进行排序,然后应用
过滤器
,并通过使用
每个
包含
来匹配索引位置。以下是一个例子:


var示例=[[1,2,35,7],[1,2,3],[35,7],[3,4];
var result=example.sort((a,b)=>b.length-a.length).filter((k,i,self)=>self.findIndex(p=>k.every(l=>p.includes(l))==i);

控制台日志(结果)你还有另一个例子吗?[[1,2,35,7],[1,2,3],[35,7],[3,4],[4]=>[1,2,35,7],[1,2,3],[3,4]。[1,2,3,4,5],[1,2,3,3],[1,4,2,3],[35,7],[3,4]>[1,2,3,4],[1,4,4],[1,4,2,3];谢谢但是,元素的顺序很重要。如果元素的顺序完全输入,我想删除元素。例如:[[1,2,3,4,5],[1,2,3],[1,4,2,3],[35,7],[3,4],[4]->[1,2,3,4,5],[1,4,2,3],[35,7]@bruce我应该在我的解决方案中提到这一点。你也可以试试看:
example.sort((a,b)=>b.length-a.length.filter((k,i,self)=>self.findIndex((p,c)=>k.every((l,j)=>p.includes(l)和&(p[j]==l | | p[p.length-1]==l))==i
i已经更正了你的方法:示例。sort((a,b)=>b.length-a.length.length.map)map(ar.stringify ar=>ar.JSON=)/[]i、[]=>self.findIndex(p=>p.includes(k))==i);谢谢你!但是,我能用更少的算法复杂度吗?