想被带飞的鱼 2023-11-21 15:56 采纳率: 62.5%
浏览 2

js数组转换const arr = [ {processId: 1161, co

用js如何把这个数组

const arr = [
  {processId: 1161, constructionMethodIds: [2]},
  {processId: 1162, constructionMethodIds: [2]},
  {processId: 1163, constructionMethodIds: [2, 6]},
  {processId: 1164, constructionMethodIds: [3, 6]},
  {processId: 1166, constructionMethodIds: [3]}
];

转换成

processList: [
0: {processId: [1161,1162], constructionMethodIds: 2},
1: {processId: [1163,1164,1166], constructionMethodIds: 3},
2: {processId: [1163,1164], constructionMethodIds: 6},]

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-22 00:52
    关注

    【以下回答由 GPT 生成】

    以下是一种实现JavaScript数组转换为指定格式的方法:

    const arr = [
      { processId: 1161, constructionMethodIds: [2] },
      { processId: 1162, constructionMethodIds: [2] },
      { processId: 1163, constructionMethodIds: [2, 6] },
      { processId: 1164, constructionMethodIds: [3, 6] },
      { processId: 1166, constructionMethodIds: [3] }
    ];
    
    // 创建一个空的结果对象
    const result = {};
    
    // 遍历原始数组,根据constructionMethodIds和processId生成新的数组对象
    arr.forEach(item => {
      const { processId, constructionMethodIds } = item;
    
      // 遍历constructionMethodIds创建新的成员对象
      constructionMethodIds.forEach(constructionMethodId => {
        // 检查是否存在对应的constructionMethodIds
        if (result[constructionMethodId]) {
          result[constructionMethodId].processId.push(processId);
        } else {
          result[constructionMethodId] = { processId: [processId], constructionMethodIds: constructionMethodId };
        }
      });
    });
    
    // 将结果对象转换成数组形式
    const processList = Object.values(result);
    
    console.log(processList);
    

    经过以上代码的处理,你将得到想要的转换结果:

    [
      { processId: [1161, 1162], constructionMethodIds: 2 },
      { processId: [1163, 1164, 1166], constructionMethodIds: 3 },
      { processId: [1163, 1164], constructionMethodIds: 6 }
    ]
    

    希望这个解决方案能够帮助到你!


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月21日

悬赏问题

  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?