方法1:
let objarray=[
{
"TId": 0,
"id": 5,
"label": "政治生活",
"fetch": "自动取数",
"priority": "1",
"count": "减分项",
"weight": "99%"
},
{
"TId": 0,
"id": 5,
"label": "政治生活",
"fetch": "自动取数",
"priority": "1",
"count": "减分项",
"weight": "99%"
},
{
"TId": 0,
"id": 6,
"label": "交纳党费",
"fetch": "自动取数",
"priority": "1",
"count": "减分项",
"weight": "99%"
}
]
removeDuplicates(objarray) {
//去重
let len = objarray.length //数组长度
let tempJson = {} //缓存对象
let res = [] //中间数组
for (let i = 0; i < len; i++) {
//利用缓存对象的属性去重
if (!tempJson[JSON.stringify(objarray[i])]) {
res.push(objarray[i])
tempJson[JSON.stringify(objarray[i])] = true
}
}
return res
},
、
方法2:
let waitingArray=[
{
"evaluateStandard": "",
"targetName": "政治生活",
"systemId": "TS10003",
"targetId": "TM30001",
"level": 2,
"calcPriority": "1",
"weight": 0.6,
"scoreBasis": "",
"remark": "",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM20001",
"score": 12,
"field": "",
"createTime": "2022-06-30T11:11:21",
"createUser": "",
"id": "TSS100011",
"isExtraPoints": "-1",
"dataSource": "",
"child": [
{
"evaluateStandard": "评价标准",
"targetName": "党内职务11",
"systemId": "TS10003",
"targetId": "TM40001",
"level": 3,
"calcPriority": "1",
"weight": 0.06,
"scoreBasis": "评分依据",
"remark": "备注",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM30009",
"score": 1.2,
"field": "系统对应字段",
"createTime": "2022-06-30T11:11:29",
"createUser": "张三",
"id": "TSS100019x",
"isExtraPoints": "1",
"dataSource": "数据溯源"
},
{
"evaluateStandard": "评价标准",
"targetName": "加入服务队11",
"systemId": "TS10003",
"targetId": "TM40002",
"level": 3,
"calcPriority": "1",
"weight": 0.04,
"scoreBasis": "评分依据",
"remark": "备注",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM30009",
"score": 0.8,
"field": "系统对应字段",
"createTime": "2022-06-30T11:11:30",
"createUser": "张三",
"id": "TSS100020x",
"isExtraPoints": "1",
"dataSource": "数据溯源"
}
]
},
{
"evaluateStandard": "评价标准",
"targetName": "缴党费",
"systemId": "TS10003",
"targetId": "TM30002",
"level": 2,
"calcPriority": "1",
"weight": 0.4,
"scoreBasis": "评分依据",
"remark": "备注",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM20001",
"score": 8,
"field": "系统对应字段",
"createTime": "2022-06-30T11:11:22",
"createUser": "张三",
"id": "TSS100012",
"isExtraPoints": "-1",
"dataSource": "数据溯源"
},
{
"evaluateStandard": "",
"targetName": "政治生活",
"systemId": "TS10003",
"targetId": "TM30001",
"level": 2,
"calcPriority": "1",
"weight": 0.6,
"scoreBasis": "",
"remark": "",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM20001",
"score": 12,
"field": "",
"createTime": "2022-06-30T11:11:21",
"createUser": "",
"id": "TSS100011",
"isExtraPoints": "-1",
"dataSource": "",
"child": [
{
"evaluateStandard": "评价标准",
"targetName": "党内职务11",
"systemId": "TS10003",
"targetId": "TM40001",
"level": 3,
"calcPriority": "1",
"weight": 0.06,
"scoreBasis": "评分依据",
"remark": "备注",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM30009",
"score": 1.2,
"field": "系统对应字段",
"createTime": "2022-06-30T11:11:29",
"createUser": "张三",
"id": "TSS100019x",
"isExtraPoints": "1",
"dataSource": "数据溯源"
},
{
"evaluateStandard": "评价标准",
"targetName": "加入服务队11",
"systemId": "TS10003",
"targetId": "TM40002",
"level": 3,
"calcPriority": "1",
"weight": 0.04,
"scoreBasis": "评分依据",
"remark": "备注",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM30009",
"score": 0.8,
"field": "系统对应字段",
"createTime": "2022-06-30T11:11:30",
"createUser": "张三",
"id": "TSS100020x",
"isExtraPoints": "1",
"dataSource": "数据溯源"
}
]
}
]
let processedArray = removeRepetition(waitingArray)
function removeRepetition(objectArrays) {
const res = new Map()
return objectArrays.filter((item) => !res.has(item.id) && res.set(item.id, 1))
}
console.log(processedArray);
//打印后://
[
{
"evaluateStandard": "",
"targetName": "政治生活",
"systemId": "TS10003",
"targetId": "TM30001",
"level": 2,
"calcPriority": "1",
"weight": 0.6,
"scoreBasis": "",
"remark": "",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM20001",
"score": 12,
"field": "",
"createTime": "2022-06-30T11:11:21",
"createUser": "",
"id": "TSS100011",
"isExtraPoints": "-1",
"dataSource": "",
"child": [
{
"evaluateStandard": "评价标准",
"targetName": "党内职务11",
"systemId": "TS10003",
"targetId": "TM40001",
"level": 3,
"calcPriority": "1",
"weight": 0.06,
"scoreBasis": "评分依据",
"remark": "备注",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM30009",
"score": 1.2,
"field": "系统对应字段",
"createTime": "2022-06-30T11:11:29",
"createUser": "张三",
"id": "TSS100019x",
"isExtraPoints": "1",
"dataSource": "数据溯源"
},
{
"evaluateStandard": "评价标准",
"targetName": "加入服务队11",
"systemId": "TS10003",
"targetId": "TM40002",
"level": 3,
"calcPriority": "1",
"weight": 0.04,
"scoreBasis": "评分依据",
"remark": "备注",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM30009",
"score": 0.8,
"field": "系统对应字段",
"createTime": "2022-06-30T11:11:30",
"createUser": "张三",
"id": "TSS100020x",
"isExtraPoints": "1",
"dataSource": "数据溯源"
}
]
},
{
"evaluateStandard": "评价标准",
"targetName": "缴党费",
"systemId": "TS10003",
"targetId": "TM30002",
"level": 2,
"calcPriority": "1",
"weight": 0.4,
"scoreBasis": "评分依据",
"remark": "备注",
"cycle": "月",
"numberMethod": 3,
"targetParentId": "TM20001",
"score": 8,
"field": "系统对应字段",
"createTime": "2022-06-30T11:11:22",
"createUser": "张三",
"id": "TSS100012",
"isExtraPoints": "-1",
"dataSource": "数据溯源"
}
]
js 对象数组中, 对象的去重;2种方法;一种用对象缓存(中转) ,一种fifter + Map
于 2022-09-21 14:50:10 首次发布