js将数组格式转换为另一种格式

发布于 2022-09-11 18:21:28 字数 712 浏览 29 评论 0

求大神支招。有这样一个数组:

arr = [{"a":"1" ,      
        "b":[{
                "c":"12",
           },{
                "c":"13", 
           }]
        },
        {"a":"2" ,      
        "b":[{
                "c":"15",
           },{
                "c":"16", 
           }]
        }
  ]

希望转换为:

arr = [{"a":"1" ,      
        "b":[{
                "c":"12",
           }]
        },
        {"a":"1" ,      
        "b":[{
                "c":"13", 
           }]
        },
        {"a":"2" ,      
        "b":[{
                "c":"15",
           }]
        },{"a":"2" ,      
        "b":[{
                "c":"16", 
           }]
        }
  ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

捎一片雪花 2022-09-18 18:21:28

不太清楚,需求是哪些可变的,尝试用for写了一下

const arr = [
            {
                "a": "1",
                "b":
                    [
                        { "c": "12", },
                        { "c": "13", }
                    ]
            },
            {
                "a": "2",
                "b":
                    [
                        { "c": "15", },
                        { "c": "16", }
                    ]
            }
        ]

        array(arr)
        function array(arr) {
            arrNew = []
            for (let i = 0; i < arr.length; i++) {
                if (arr[i].b.length > 1) {
                    for (let j = 0; j < arr[i].b.length; j++) {
                        arrNew.push({
                            "a": arr[i].a,
                            "b": [arr[i].b[j]]
                        })
                    }
                }
            }
            console.log(arrNew)

        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文