如图所示,我有一个数组列表,我想删除重复数组"Qualif“和"Prod”。
我想变成那样
我尝试了以下条件
Scenario1:
this.Default_data_historique=Object.values(this.nouveau_data_historique.reduce((c,e)=>{
if (!c[e.PTF_NAME]) c[e.PTF_NAME] =e; return c; },{}));Scenario2:
this.Default_data_historique= Array.from(new Set(this.nouveau_data_historique))Scenario3:
this.Default_data_historique=this.nouveau_data_historique.filter(function(elem,index,self){
return index === self.indexOf(elem)
});上述三种方案中没有一种能够从该数组中删除重复项。有人能帮忙吗?
编辑:示例数据
[
[{
"PTF_NAME": "integration",
"Salle": "salle1"
},
{
"PTF_NAME": "integration",
"Salle": "salle1"
}
],
[{
"PTF_NAME": "Qualif",
"Salle": "salle1"
},
{
"PTF_NAME": "Qualif",
"Salle": "salle1"
}
],
[{
"PTF_NAME": "Qualif",
"Salle": "salle2"
},
{
"PTF_NAME": "Qualif",
"Salle": "salle2"
}
],
[{
"PTF_NAME": "Prod",
"Salle": "salle1"
},
{
"PTF_NAME": "Prod",
"Salle": "salle1"
}
],
[{
"PTF_NAME": "Prod",
"Salle": "salle2"
},
{
"PTF_NAME": "Prod",
"Salle": "salle2"
}
]
]我想要的
[
[{
"PTF_NAME": "integration",
"Salle": "salle1"
},
{
"PTF_NAME": "integration",
"Salle": "salle1"
}
],
[{
"PTF_NAME": "Qualif",
"Salle": "salle1"
},
{
"PTF_NAME": "Qualif",
"Salle": "salle1"
}
],
[{
"PTF_NAME": "Prod",
"Salle": "salle1"
},
{
"PTF_NAME": "Prod",
"Salle": "salle1"
}
]
]发布于 2020-04-21 19:03:05
尝尝这个,
data = [
[
{
"PTF_NAME": "integration",
"Salle": "salle1"
},
{
"PTF_NAME": "integration",
"Salle": "salle1"
}
],
[
{
"PTF_NAME": "Qualif",
"Salle": "salle1"
},
{
"PTF_NAME": "Qualif",
"Salle": "salle1"
}
],
[
{
"PTF_NAME": "Qualif",
"Salle": "salle2"
},
{
"PTF_NAME": "Qualif",
"Salle": "salle2"
}
],
[{
"PTF_NAME": "Prod",
"Salle": "salle1"
},
{
"PTF_NAME": "Prod",
"Salle": "salle1"
}
],
[{
"PTF_NAME": "Prod",
"Salle": "salle2"
},
{
"PTF_NAME": "Prod",
"Salle": "salle2"
}
]
];
function removeDupesInArrayOfObject() {
const result = [];
result.push(this.data[0]);
data.reduce( (first, second, n) => {
if (first[0].PTF_NAME !== second[0].PTF_NAME) {
result.push(second);
}
return second
})
console.log(result);
}
removeDupesInArrayOfObject();
发布于 2020-04-21 19:02:20
您可以使用filter()方法。
this.nouveau_data_historique.filter((item,index) => {
return this.nouveau_data_historique.indexOf(item) === index
});https://stackoverflow.com/questions/61350989
复制相似问题