将带有数组的javascript对象遍历和操作为与格式匹配的单个对象

将带有数组的javascript对象遍历和操作为与格式匹配的单个对象,javascript,arrays,object,Javascript,Arrays,Object,我一直在绞尽脑汁想这个问题,我试图用一些递归函数来解决这个问题,但毫无乐趣,所以我想问一下是否有人有任何解决方案 我有一个对象,它是JSON和数组的混合体,简言之,我需要去掉数组,但保留它们最初发现数组时的值 以下是对象/数组的console.log: 对象{类型:数组[1],属性:对象} 属性:对象 关联媒体:阵列[1] 0:对象 属性:对象 url:Array[1] 0:“/programmes/p00t64wh.emp” 长度:1 proto:数组[0] 原型:对象 类型:

我一直在绞尽脑汁想这个问题,我试图用一些递归函数来解决这个问题,但毫无乐趣,所以我想问一下是否有人有任何解决方案

我有一个对象,它是JSON和数组的混合体,简言之,我需要去掉数组,但保留它们最初发现数组时的值

以下是对象/数组的console.log:

对象{类型:数组[1],属性:对象}

  • 属性:对象
  • 关联媒体:阵列[1]
  • 0:对象
  • 属性:对象
  • url:Array[1]
  • 0:“/programmes/p00t64wh.emp”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 类型:数组[1]
  • 0:“MediaObject”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 长度:1
  • proto:数组[0]
  • 作者:数组[1]
  • 0:对象
  • 属性:对象
  • 名称:数组[1]
  • 0:“培养人民”
  • 长度:1
  • proto:数组[0]
  • url:Array[1]
  • 0:“/music/artists/e0e1a584-dd0a-4bd1-88d1-c4c62895039d”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 类型:数组[1]
  • 0:“音乐组”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 长度:1
  • proto:数组[0]
  • 图像:数组[1]
  • 0:“/radio1/chart/artwork/ussm1002931.jpg”
  • 长度:1
  • proto:数组[0]
  • 名称:数组[1]
  • 0:“向上踢”
  • 长度:1
  • proto:数组[0]
  • 出版物:Array[1]
  • 0:对象
  • 属性:对象
  • 系列的组成部分:数组[1]
  • 0:对象
  • 属性:对象
  • 名称:数组[1]
  • 0:“劳伦·拉维恩”
  • 长度:1
  • proto:数组[0]
  • url:Array[1]
  • 0:“/programs/B00C0000J”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 类型:数组[1]
  • 0:“系列”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 长度:1
  • proto:数组[0]
  • 发布时间:数组[1]
  • 0:对象
  • 属性:对象
  • 名称:数组[1]
  • 0:“来自BBC广播6音乐”
  • 长度:1
  • proto:数组[0]
  • url:Array[1]
  • 0:“/6music/”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 类型:数组[1]
  • 0:“广播服务”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 类型:数组[1]
  • 0:“插曲”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 类型:数组[1]
  • 0:“音乐录制”
  • 长度:1
  • proto:数组[0]
  • 原型:对象
  • 所需的转换应该类似于下面的代码,但如果保留了“属性”,但所有数组都应该剥离到一个对象中,则这不是一个大问题

    {
        'associatedMedia': {
            'url':'/programmes/p00t64wh.emp',
            'type':'MediaObject'
        },
        'byArtist': {
            'name':'Foster the People',
            'url':'/music/artists/e0e1a584-dd0a-4bd1-88d1-c4c62895039d',
            'type':'MusicGroup'
        },
        'publication': {
            'publishedOn':{
                'name':'From BBC Radio 6 Music',
                'url':'/6music/',
                'type':'BroadcastService'
            },
            'partOfSeries':{
                'name':'Lauren Laverne',
                'url':'programmes/b00c000j',
                'type':'Series'
            }
            'type':'http://schema.org/Episode'
        }
        'image':'/radio1/chart/artwork/ussm11002931.jpg',
        'name':'Pumped up Kicks',
        'type':'MusicRecording'
    }
    
    所有关键点和值都是动态分配的,但是需要转换的对象将遵循:对象>关键点/值>0>属性>关键点/值


    提前感谢您的帮助:)

    您能举一个更简单的例子吗?这样我们才能专注于核心问题。在这种形式下,这个问题几乎没有得到太多的关注。谢谢。如果不清楚,请道歉,但我认为写下来确实有帮助,我已经想出了一个解决办法。需要一些重构和清理,但我现在有了处理这个问题的概念。@Daniel,请在这里发布您的解决方案,以便将来的用户可以从您的知识中受益。你的个人资料也为你赢得了声誉