let data = [ { 'del': 0, 'createBy': 'GW00303172', 'createTime': '2023-10-16 11:17:16', 'updateBy': 'GW00303172', 'updateTime': '2023-10-16 11:17:16', 'id': 2685, 'processId': 1383, 'projectId': 35, 'productCode': 'PA 20230905 739d896a58', 'productBomCode': '20230905 11 63d3244aa7', 'materialCode': 'PA 20230905 739d896a58', 'materialName': '前衬套', 'electrophoreticArea': 200, 'weldBeadLength': 100, 'roughWeight': 2, 'materialCategory': '2', 'materialType': 0, 'supplierStatus': '1', 'materialStatus': '3', 'importanceLevel': '1', 'sourceFrom': '0', 'yieldCode': null, 'level': 1, 'weight': 1.02, 'specifications': '--', 'borrowRelation': 'J65', 'num': 1, 'targetPrice': 66, 'other': '1', 'projectCode': '1', 'materialId': 2685, 'deliveryAddress': '5', 'passRatio': '5', 'craftCode': 'GY000105', 'craftName': '工艺1', 'craftSubType': '3', 'type1': '0', 'type2': '0', 'type3': '0', 'productionPlaceCode': 'CD0003' }, { 'rowId': '1697437037701926', 'productCode': 'PA 20230905 739d896a58', 'projectCode': '1', 'productBomCode': '20230905 11 63d3244aa7', 'processId': 1383, 'materialCode': 'PA 20230905 739d896a58', 'materialName': '前衬套7', 'materialCategory': '2', 'specifications': '--', 'weight': 1.02, 'importanceLevel': '1', 'level': 1, 'sourceFrom': '0', 'materialId': 2685, 'productionPlaceCode': 'CD0006', 'deliveryAddress': '6', 'passRatio': '5', 'craftCode': 'GY000106', 'craftName': '工艺3', 'craftSubType': '6', 'type1': '0', 'type2': '1', 'type3': '0' }, { 'rowId': '1697437037701926', 'productCode': 'PA 20230905 739d896a58', 'projectCode': '1', 'productBomCode': '20230905 11 63d3244aa7', 'processId': 1383, 'materialCode': 'PA 20230905 739d896a58', 'materialName': '前衬套5', 'materialCategory': '2', 'specifications': '--', 'weight': 1.02, 'importanceLevel': '1', 'level': 1, 'sourceFrom': '0', 'materialId': 2685, 'productionPlaceCode': 'CD0006', 'deliveryAddress': '6', 'passRatio': '5', 'craftCode': 'GY000106', 'craftName': '工艺3', 'craftSubType': '6', 'type1': '0', 'type2': '1', 'type3': '0' }, { 'rowId': '1697437037701926', 'productCode': 'PA 20230905 739d896a58', 'projectCode': '1', 'productBomCode': '20230905 11 63d3244aa7', 'processId': 1383, 'materialCode': 'PA 20230905 666666', 'materialName': '前衬套', 'materialCategory': '2', 'specifications': '--', 'weight': 1.02, 'importanceLevel': '1', 'level': 1, 'sourceFrom': '0', 'materialId': 2685, 'productionPlaceCode': 'CD0006', 'deliveryAddress': '6', 'passRatio': '5', 'craftCode': 'GY0001111', 'craftName': '工艺4', 'craftSubType': '6', 'type1': '0', 'type2': '1', 'type3': '0' }, { 'rowId': '1697437037701926', 'productCode': 'PA 20230905 739d896a58', 'projectCode': '1', 'productBomCode': '20230905 11 63d3244aa7', 'processId': 1383, 'materialCode': 'PA 20230905 666666', 'materialName': '前衬套', 'materialCategory': '2', 'specifications': '--', 'weight': 1.02, 'importanceLevel': '1', 'level': 1, 'sourceFrom': '0', 'materialId': 2685, 'productionPlaceCode': 'CD0006', 'deliveryAddress': '6', 'passRatio': '5', 'craftCode': 'GY0001112', 'craftName': '工艺5', 'craftSubType': '6', 'type1': '0', 'type2': '1', 'type3': '0' }, { 'rowId': '1697437037701926', 'productCode': 'PA 20230905 739d896a58', 'projectCode': '1', 'productBomCode': '20230905 11 63d3244aa7', 'processId': 1383, 'materialCode': 'PA 20230905 666666', 'materialName': '前衬套4', 'materialCategory': '2', 'specifications': '--', 'weight': 1.02, 'importanceLevel': '1', 'level': 1, 'sourceFrom': '0', 'materialId': 2685, 'productionPlaceCode': 'CD0006', 'deliveryAddress': '6', 'passRatio': '5', 'craftCode': 'GY0001113', 'craftName': '工艺6', 'craftSubType': '6', 'type1': '0', 'type2': '1', 'type3': '0' }, { 'rowId': '1697437037701926', 'productCode': 'PA 20230905 739d896a58', 'projectCode': '1', 'productBomCode': '20230905 11 63d3244aa7', 'processId': 1383, 'materialCode': 'PA 20230905 666666', 'materialName': '前衬套3', 'materialCategory': '2', 'specifications': '--', 'weight': 1.02, 'importanceLevel': '1', 'level': 1, 'sourceFrom': '0', 'materialId': 2685, 'productionPlaceCode': 'CD0006', 'deliveryAddress': '6', 'passRatio': '5', 'craftCode': 'GY0001113', 'craftName': '工艺6', 'craftSubType': '6', 'type1': '0', 'type2': '1', 'type3': '0' }, { 'rowId': '1697437037701926', 'productCode': 'PA 20230905 739d896a58', 'projectCode': '1', 'productBomCode': '20230905 11 63d3244aa7', 'processId': 1383, 'materialCode': 'PA 20230905 666666', 'materialName': '前衬套2', 'materialCategory': '2', 'specifications': '--', 'weight': 1.02, 'importanceLevel': '1', 'level': 1, 'sourceFrom': '0', 'materialId': 2685, 'productionPlaceCode': 'CD0006', 'deliveryAddress': '6', 'passRatio': '5', 'craftCode': 'GY0001113', 'craftName': '工艺6', 'craftSubType': '6', 'type1': '0', 'type2': '1', 'type3': '0' } ] // es6 将数组中相同的materialCode中相同的craftCode对象打印出来 提示materialCode下的craftName 存在相同数据内容:const craftCodeMap = new Map(); // 用于存储materialCode和对应的craftCode对象

data.forEach((item) => { const { materialCode, craftCode, craftName } = item;

if (craftCodeMap.has(materialCode)) { const craftCodeObj = craftCodeMap.get(materialCode); if (craftCodeObj[craftCode]) { craftCodeObj[craftCode].push(craftName); } else { craftCodeObj[craftCode] = [craftName]; }
} else { const craftCodeObj = { [craftCode]: [craftName] }; craftCodeMap.set(materialCode, craftCodeObj); } });

// 打印出materialCode下的相同craftCode对象 craftCodeMap.forEach((craftCodeObj, materialCode) => { console.log(materialCode: ${materialCode}); Object.keys(craftCodeObj).forEach((craftCode) => { if (craftCodeObj[craftCode].length > 1) { console.log(craftCode: ${craftCode}); console.log(craftNames: ${craftCodeObj[craftCode].join(', ')}); } }); });

JavaScript 数组去重:查找相同 materialCode 下的相同 craftCode 对象

原文地址: http://www.cveoy.top/t/topic/pjd5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录