let departTag = [
{
label: "皮肤科",
twoTagId: "5d1084480e8e59729c50df3d",
value: "皮肤科"
},
{
label: "眼科综合",
twoTagId: "5d1084480e8e59729c50df40",
value: "眼科"
},
{
label: "胸外科",
twoTagId: "5d1084470e8e59729c50df22",
value: "外科"
},
{
label: "眼科综合",
twoTagId: "5d1084480e8e59729c50df40",
value: "眼科"
},
{
label: "消化内科",
twoTagId: "5d1084470e8e59729c50df18",
value: "内科"
},
{
label: "眼科综合",
twoTagId: "5d1084480e8e59729c50df40",
value: "眼科"
},
{
label: "皮肤科",
twoTagId: "5d1084480e8e59729c50df3d",
value: "皮肤科"
}
]
方法1:判断属性值是否存在
let repeatRrr = [];
let repeatRrrS = [];
for (let i = 0; i < departTag.length; i++) {
if (!repeatRrr.includes(departTag[i].twoTagId)) {
repeatRrr.push(departTag[i].twoTagId);
repeatRrrS.push(departTag[i]);
}
}
console.log(repeatRrr);
console.log(repeatRrrS);
方法2:使用数组中的reduce()方法
let obj = {};
let departTagS = departTag.reduce(function(item, next) {
obj[next.twoTagId] ? '' : obj[next.twoTagId] = true && item.push(next);
return item;
}, []);
console.log(departTagS);
console.log(departTag);
另外:去重后获取数组对象中的id
let twoId = [];
departTag.map(item=>{
twoId.push(item.twoTagId);
})
let nary = twoId.slice().sort();
let naryS = [];
for (let i = 0; i < departTag.length; i++) {
if (nary[i] == nary[i + 1]) {
console.log(nary[i]);
}else{
naryS.push(nary[i]);
}
}
console.log(naryS);