最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

由JSon在节点中获得唯一ID的组

IT培训 admin 11浏览 0评论

由JSon在节点中获得唯一ID的组

在我的nodeJs代码中,我正在从数据库中获取一些记录。我正在以JSON形式获取数据,如下所示:

[[{
    sourcePguid: '000526420800003',
    recordPguid: 'urn:reference:000000000000000000000000011225'
  },
  {
    sourcePguid: '000526420800003',
    recordPguid: 'urn:reference:000000000000000000000000011225'
  }]
  ]

我想要的是类似以下JSON的内容:

{
    sourcePguid: '000526420800003',
    recordPguid:['urn:reference:000000000000000000000000011225','urn:reference:000000000000000000000000011225']

  }

我是Java脚本和节点的新手。如果有人帮助我实现节点JS中的输出,请。

回答如下:

首先,您需要对整个数组进行展平

const array = [[{
    sourcePguid: '000526420800003',
    recordPguid: 'urn:reference:000000000000000000000000011225'
  },
  {
    sourcePguid: '000526420800003',
    recordPguid: 'urn:reference:000000000000000000000000011225'
  }]
].flat();

下一步,您需要通过一些键减少数组分组

const grouped = array.reduce((all, current) => {
  const existing = all.find(element => element.sourcePguid === current.sourcePguid);
  if (!existing) {
    all.push({sourcePguid: current.sourcePguid, recordPguid: [current.recordPguid]});
  } else if (!existing.recordPguid.find(record => record === current.recordPguid)) {
    existing.recordPguid.push(current.recordPguid);
  }
  return all;
}, []);

由JSon在节点中获得唯一ID的组

在我的nodeJs代码中,我正在从数据库中获取一些记录。我正在以JSON形式获取数据,如下所示:

[[{
    sourcePguid: '000526420800003',
    recordPguid: 'urn:reference:000000000000000000000000011225'
  },
  {
    sourcePguid: '000526420800003',
    recordPguid: 'urn:reference:000000000000000000000000011225'
  }]
  ]

我想要的是类似以下JSON的内容:

{
    sourcePguid: '000526420800003',
    recordPguid:['urn:reference:000000000000000000000000011225','urn:reference:000000000000000000000000011225']

  }

我是Java脚本和节点的新手。如果有人帮助我实现节点JS中的输出,请。

回答如下:

首先,您需要对整个数组进行展平

const array = [[{
    sourcePguid: '000526420800003',
    recordPguid: 'urn:reference:000000000000000000000000011225'
  },
  {
    sourcePguid: '000526420800003',
    recordPguid: 'urn:reference:000000000000000000000000011225'
  }]
].flat();

下一步,您需要通过一些键减少数组分组

const grouped = array.reduce((all, current) => {
  const existing = all.find(element => element.sourcePguid === current.sourcePguid);
  if (!existing) {
    all.push({sourcePguid: current.sourcePguid, recordPguid: [current.recordPguid]});
  } else if (!existing.recordPguid.find(record => record === current.recordPguid)) {
    existing.recordPguid.push(current.recordPguid);
  }
  return all;
}, []);

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论