js对象如何转为数组?

现在的代码是

const list = {
  { '企业信息': [
    {name: '企业资料', to: '/basic'},
    {name: '修改密码', to: '/reset'}
  ]},
  {'账户余额': [
    {name: '消费记录', to: '/consume-log'},
    {name: '充值记录', to: '/recharge-log'},
    {name: '充值', to: '/recharge'}
  ]}
}

想要变成下面这样的代码,请问怎么实现?

const list = [
  { '企业信息': [
    {name: '企业资料', to: '/basic'},
    {name: '修改密码', to: '/reset'}
  ]},
  {'账户余额': [
    {name: '消费记录', to: '/consume-log'},
    {name: '充值记录', to: '/recharge-log'},
    {name: '充值', to: '/recharge'}
  ]}
]
阅读 5.1k
5 个回答

你的第一个定义有问题

这个地方至少要有一个key
clipboard.png
顺便一提,js对象转数组,百度很容易找到,提问前先百度

是接收过来的还是自己写的,如果是写的自己改就好,如果是接受过来的。

类数组对象可以通过Array.from转为数组,但是目前需要babel支持

首先你的对象格式有问题,想要转化先遍历,然后新建数组,直接push进去即可

新手上路,请多包涵

Object.keys(list).map(key => ({[key]:list[key]}))

// 然后自己又添加了key属性

Object.keys(list).map(key => ({title:key,list:list[key]}))

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题