首页 > 解决方案 > 对象数组的格式错误

问题描述

我正在尝试格式化一个对象数组,不幸的是,我做错了。

sortGroup=(group)=> {
    for (const entry of group.entries) {
     arrayofHeros.push(`Title: ${field(entry, 'Title')},'UserName': ${field(entry, 'UserName')} , Strentgh:  ${field(entry, 'Strentgh')} ,Age: ${field(entry,'Age')} \n`)   
    }
    for (const subGroup of group.groups) {
        sortGroup(subGroup)
    }
}

结果当console.log(arrayofHeros);

 [ 'Title: Avangers: UserName: Wolvering , Strength:  Smash , Age: 28',
      'Title: X-men: UserName: Stryfe, Strength:  Superhuman, Age: 34',
      'Title: X-men: UserName: Lady Deathstrike, Strength:  Cyborg, Age: 27',
 ]

预期结果

arrayofHeros = 
[ {
    Title: 'Avangers',
    UserName: 'Wolvering',
    Strength:  'Smash',
    Age: 28
    },
    {
    Title: 'X-men',
    UserName: 'Stryfe',
    Strength:  'Superhuman',
    Age: 34
    },
    {
    Title: 'X-men',
    UserName: 'Lady Deathstrike',
    Strength:  'Cyborg',
    Age: 27,
      },
     ]

标签: javascriptarraysobject

解决方案


问题是你在这里推一个字符串

arrayofHeros.push(`Title: ${field(entry, 'Title')},'UserName': ${field(entry, 'UserName')} , Strentgh:  ${field(entry, 'Strentgh')} ,Age: ${field(entry,'Age')} \n`)

你应该推一个物体

arrayofHeros.push({
  Title: field(entry, 'Title'),
  UserName: field(entry, 'UserName'),
  Strentgh: field(entry, 'Strentgh'),
  Age: field(entry,'Age')
})

推荐阅读