js 对象数组中, 对象的去重;2种方法;一种用对象缓存(中转) ,一种fifter + Map

方法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": "数据溯源"
    }
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值