复杂数组去重,保留数组中对象的code的唯一

问题描述:
dataList -> obj1 -> obj1.list中obj1.list[1].code和 dataList -> obj2 -> obj2.list中的obj2.list[2].code相等,那么对象2是不是不添加了

  • 数据

   // 1.通过codeArr记录所有的code
   // 2. 不能直接删除重复的数据,采用临时(tempArr)保存,code重复不保存,code不重复保存
   // 3. list循环完成,将tempArr的数组的值赋值给当前的list
 let codeArr = [];
 dataList.map((item, i) => {
   // console.log("item", item);
   // item 代表对象
   let itemList = item.list;
   let tempList = [];
   itemList.map((item2, j) => {
     if (codeArr.some(code => code === item2.containerCode)) {
       console.log("当前重复了,item2为:", item2);
       console.log(`当前重复了,位置为i为${i},j为${j}`);
     } else {
       tempList.push(item2);
       codeArr.push(item2.containerCode);
     }
   });
   dataList[i].list = tempList;
 });
 console.log("dataList", dataList);


let dataList = [
        {
          transportCode: "T0001",
          osTransportId: 1,
          list: [
            {
              pK_PackingBillDetail: 0,
              pK_PackingBillMain: 120477,
              pK_PackageContainer: 30728,
              containerName: "0KD1208H",
              deviceNum: null,
              pK_Inventory: 199,
              invCode: "F01Z530111",
              invName: "PIPE; Ø1016; L60; T2",
              quantity: 15,
              containerCode: "000008",
              dock: null,
              uniqueCode: null,
              pK_Warehouse: null,
              scanContentFir: null,
              scanContentSec: null,
              osTransportId: 1,
              containerQty: 1
            },
            {
              pK_PackingBillDetail: 0,
              pK_PackingBillMain: 120478,
              pK_PackageContainer: 30729,
              containerName: "0KD1208H",
              deviceNum: null,
              pK_Inventory: 200,
              invCode: "F01Z530108",
              invName: "COVER; BOX OUTER SHEATH T2",
              quantity: 65,
              containerCode: "000009",
              dock: null,
              uniqueCode: null,
              pK_Warehouse: null,
              scanContentFir: null,
              scanContentSec: null,
              osTransportId: 1,
              containerQty: 1
            }
          ]
        },
        {
          transportCode: "T0002",
          osTransportId: 2,
          list: [
            {
              pK_PackingBillDetail: 0,
              pK_PackingBillMain: 120475,
              pK_PackageContainer: 30726,
              containerName: "0KD1208H",
              deviceNum: null,
              pK_Inventory: 197,
              invCode: "F01Z530105",
              invName: "WALL; BACK WALL T2",
              quantity: 88,
              containerCode: "000006",
              dock: null,
              uniqueCode: null,
              pK_Warehouse: null,
              scanContentFir: null,
              scanContentSec: null,
              osTransportId: 2,
              containerQty: 1
            },
            {
              pK_PackingBillDetail: 0,
              pK_PackingBillMain: 120476,
              pK_PackageContainer: 30727,
              containerName: "0KD1208H",
              deviceNum: null,
              pK_Inventory: 198,
              invCode: "F01Z530121",
              invName: "BRACKET; BRACKET T2",
              quantity: 66,
              containerCode: "000007",
              dock: null,
              uniqueCode: null,
              pK_Warehouse: null,
              scanContentFir: null,
              scanContentSec: null,
              osTransportId: 2,
              containerQty: 1
            },
            {
              pK_PackingBillDetail: 0,
              pK_PackingBillMain: 120477,
              pK_PackageContainer: 30728,
              containerName: "0KD1208H",
              deviceNum: null,
              pK_Inventory: 199,
              invCode: "F01Z530111",
              invName: "PIPE; Ø1016; L60; T2",
              quantity: 15,
              containerCode: "000008",
              dock: null,
              uniqueCode: null,
              pK_Warehouse: null,
              scanContentFir: null,
              scanContentSec: null,
              osTransportId: 2,
              containerQty: 1
            },
            {
              pK_PackingBillDetail: 0,
              pK_PackingBillMain: 120478,
              pK_PackageContainer: 30729,
              containerName: "0KD1208H",
              deviceNum: null,
              pK_Inventory: 200,
              invCode: "F01Z530108",
              invName: "COVER; BOX OUTER SHEATH T2",
              quantity: 65,
              containerCode: "000009",
              dock: null,
              uniqueCode: null,
              pK_Warehouse: null,
              scanContentFir: null,
              scanContentSec: null,
              osTransportId: 2,
              containerQty: 1
            }
          ]
        }
      ];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值