我有这个数组:
我考虑过使用如下过滤器:
附注:我使用node.js
编辑:奇怪的是,你们很多人的答案在这个例子中完美地工作,但在我的真实程序中却不起作用……事实上,我使用对象而不是数字。像这样:
编辑2:现在我提供最小的示例,这个数组可以有20000个项目。
[[1,2,3],[4,1,6],[1,3,2],[1,2,4],[3,1,2],[4,6,1],[9,9,9]]
我想要一个函数,实现以下功能:
[[1,2,3],[4,1,6],[1,2,4],[9,9,9]]
该函数将删除所有具有相同值的子数组。我考虑过使用如下过滤器:
.filter(el => el.filter(value => array2.includes(value)))
但我认为它不会起作用。附注:我使用node.js
编辑:奇怪的是,你们很多人的答案在这个例子中完美地工作,但在我的真实程序中却不起作用……事实上,我使用对象而不是数字。像这样:
[[obj,obj,obj],[obj,obj,obj],[obj,obj,obj]]
但我不知道为什么它适用于数字,却不适用于对象……编辑2:现在我提供最小的示例,这个数组可以有20000个项目。
[
[
{ name: 'Dofawa', item_type: 'Dofus', level: 6 },
{
name: 'Dofus Cawotte',
item_type: 'Dofus',
level: 6
},
{
name: 'Dofus Kaliptus',
item_type: 'Dofus',
level: 6
}
],
[
{ name: 'Dofawa', item_type: 'Dofus', level: 6 },
{
name: 'Dofus Emeraude',
item_type: 'Dofus',
level: 6
},
{
name: 'Dofus Ocre',
item_type: 'Dofus',
level: 6
}
],
[
{ name: 'Dofawa', item_type: 'Dofus', level: 6 },
{
name: 'Dofus Kaliptus',
item_type: 'Dofus',
level: 6
},
{
name: 'Dofus Cawotte',
item_type: 'Dofus',
level: 6
}
],
[
{
name: 'Dofus Cawotte',
item_type: 'Dofus',
level: 6
},
{
name: 'Dofus Kaliptus',
item_type: 'Dofus',
level: 6
},
{ name: 'Dofawa', item_type: 'Dofus', level: 6 }
]
]
应该得到这个对象:
[
[
{ name: 'Dofawa', item_type: 'Dofus', level: 6 },
{
name: 'Dofus Cawotte',
item_type: 'Dofus',
level: 6
},
{
name: 'Dofus Kaliptus',
item_type: 'Dofus',
level: 6
}
],
[
{ name: 'Dofawa', item_type: 'Dofus', level: 6 },
{
name: 'Dofus Emeraude',
item_type: 'Dofus',
level: 6
},
{
name: 'Dofus Ocre',
item_type: 'Dofus',
level: 6
}
]
]