为了账号安全,请及时绑定邮箱和手机立即绑定

我需要将对象转换为对象数组

我需要将对象转换为对象数组

哔哔one 2021-11-04 17:36:39
我需要将我的对象转换为对象数组我的对象如下:superman = {    name: 'Superman',    'real name': 'Clark Kent',    height: 75,    weight: 235,    hero: true,    villain: false,    allies: {superHero: 'Batman',             superPower: 'He is rich',             sidekick: 'robin'}    }&我需要它转换成:[    {name: 'Superman'},    {realName: 'Clark Kent'},    {height: 75},    {weight: 235},    {hero: true},    {villain: false},    {allies: [superHero: 'Batman',             superPower: 'He is rich',             sidekick: 'robin']}]
查看完整描述

2 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

尝试这个


var superman = {

    name: 'Superman',

    'real name': 'Clark Kent',

    height: 75,

    weight: 235,

    hero: true,

    villain: false,

    allies: {superHero: 'Batman',

             superPower: 'He is rich',

             sidekick: 'robin'}

    };

var ret = Object.keys(superman).map(function(key) {

  return { [key]: superman[key] };

});

console.log(ret);


查看完整回答
反对 回复 2021-11-04
?
FFIVE

TA贡献1797条经验 获得超6个赞

如果要将主对象中的每个对象修改为您描述的结构(递归),请使用以下命令:


var superman = {

  name: 'Superman',

  'real name': 'Clark Kent',

  height: 75,

  weight: 235,

  hero: true,

  villain: false,

  allies: {

    superHero: 'Batman',

    superPower: 'He is rich',

    sidekick: 'robin'

  }

};


const toArray = (obj) => {

  return Object.entries(obj).map(([key, value]) => {

    const ret = {}

    if (typeof value === 'object' && Object.keys(value).length) {

      ret[key] = toArray(value)

    } else {

      ret[key] = value

    }


    return ret

  })

}


console.log(toArray(superman))


查看完整回答
反对 回复 2021-11-04
  • 2 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信