js将数组对象中某个值相同的对象合并成一个新对象

let arr = [
  {
    clfl: '不动产登记申请书',
    sfbz: null,
    caseAttachId: '6583bcb8-8ed3-482e-9e8c-b36e16665d5a'
  },
  {
    clfl: '不动产登记申请书',
    sfbz: null,
    caseAttachId: '07cf2603-8c09-4491-99ec-6f428e941e97'
  },
  {
    clfl: '申请人身份证明材料',
    sfbz: null,
    caseAttachId: 'c08ece53-de65-4fce-9c5a-4f7ab2d160c6'
  },
  {
    clfl: '不动产权证书',
    sfbz: null,
    caseAttachId: 'ad3e44b3-e236-4a1d-9734-61d6cfacc4c1'
  },
  {
    clfl: '不动产权证书',
    sfbz: null,
    caseAttachId: '2f71a37a-b770-4246-af8b-37b2fb18b134'
  },
  {
    clfl: '证明发生变更事实的材料',
    sfbz: null,
    caseAttachId: 'd90654a9-d2dd-47b7-b0c8-7544b8e413c9'
  }
];
let testArr = [];
let resultArr = [];
for (let i = 0; i < arr.length; i++) {
  if (testArr.indexOf(arr[i].clfl) === -1) {
    resultArr.push({
      clfl: arr[i].clfl,
      origin: [arr[i]]
    });
    testArr.push(arr[i].clfl);
  } else {
    for (let j = 0; j < resultArr.length; j++) {
      if (resultArr[j].clfl == arr[i].clfl) {
        resultArr[j].origin.push(arr[i]);
        break;
      }
    }
  }
}
console.log('resultArr', resultArr);

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值