基于键数组列表上的对象数组将每个键转换为数组列表的新对象

问题描述 投票:0回答:1

“Items”具有对象数组,每个对象中都有一个名为“ImpactedCIs”数组列表的键。基于每个数组列表需要生成基于“ImpactedCIs”对象数组的新对象。需要一个可能的新对象数组以及现有的关键元素。

                  "items": [
            {
                "ImpactedCIs": ["MJUDKHJ112O","FTTM_ZTF647"],
                "CMSStatus": "5",
                "ActualStartTime": "1700003455",
                "ActualEndTime": "1700003455",
                "PM": "Sample",
                "PMContact": "45345435"
            }
        ]
                    
                Result: 
                "items": [
        {
            "ImpactedCIs": "MJUDKHJ112O",
            "CMSStatus": "5",
            "ActualStartTime": "1700003455",
            "ActualEndTime": "1700003455",
            "PM": "Sample",
            "PMContact": "45345435"
        },
        {
            "ImpactedCIs": "FTTM_ZTF647",
            "CMSStatus": "5",
            "ActualStartTime": "1700003455",
            "ActualEndTime": "1700003455",
            "PM": "Sample",
            "PMContact": "45345435"
        }
    ]
javascript
1个回答
0
投票

通过一些循环你就可以实现它。为了复制(浅层)对象,我可以使用

{ ... obj }

var items = [{
  "ImpactedCIs": ["MJUDKHJ112O", "FTTM_ZTF647"],
  "CMSStatus": "5",
  "ActualStartTime": "1700003455",
  "ActualEndTime": "1700003455",
  "PM": "Sample",
  "PMContact": "45345435"
}]

var result = []
items.forEach(function(item) {
  item.ImpactedCIs.forEach(function(ImpactedCI) {
    var new_item = {... item}
    new_item.ImpactedCIs = ImpactedCI
    result.push (new_item)
  })
})

console.log(result)

© www.soinside.com 2019 - 2024. All rights reserved.