【发布时间】:2020-07-24 08:01:55
【问题描述】:
我正在尝试使用 map 函数将以下 JSON 数据转换为适当的输出
[{"jobId":100049,"name":"Drilling","jobNumber":"1222455","address":"Ahmedabad","city":"Ahmedabad","state":"1","zip":"38003","active":true,"jobOwnerId":100002,"jobOwnerName":"Troy Thomson","createdBy":"","createdOn":"2020-03-15T18:42:25.6533333","modifiedBy":"","modifiedOn":"2020-03-16T13:21:53.0333333","members":[{"memberId":100001,"memberName":"Hardik Gondalia"},{"memberId":100004,"memberName":"Micheal T. Angelo"}],"assets":[{"assetId":100004,"assetName":"Minima ullam non mol"}]},{"jobId":100051,"name":"Drilling The Hole","jobNumber":"11111","address":"201, AA 333 Steet, Time Square","city":"Boston","state":"1","zip":"11111","active":true,"jobOwnerId":100001,"jobOwnerName":"Hardik Gondalia","createdBy":"","createdOn":"2020-03-25T11:12:13.89","modifiedBy":"","modifiedOn":"2020-03-25T11:12:32.1266667","members":[{"memberId":100002,"memberName":"Troy Thomson"}],"assets":[{"assetId":100005,"assetName":"Drill Machine P2222"}]}]
期望的输出:
[{"jobid":100049,"memberid":100001],{"jobid":100049,"memberid":100004],{"jobid":100051,"memberid":100002]}
如您所见,job 是 json 对象,其中包含成员和资产数组。如果它有多个成员或资产,我想重复 jobid。
我试过的是:
const assignmentAssetModel = this.jobList.map(i => ({ jobid: i.jobId, assetid: i.assets.map(j => j.assetId) }));
但它给了我以下输出:
[{"jobid":100049,"memberid":[100001,100004]},{"jobid":100051,"memberid":[100002]}]
如果你有多个 memberid,我想重复 jobid
【问题讨论】:
标签: javascript ecmascript-6 array.prototype.map