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

如何在 JavaScript 中将对象值转换为新数组

如何在 JavaScript 中将对象值转换为新数组

慕容森 2022-05-22 10:30:23
我正在尝试简化以下状态:{   "name": "bulbasaur",   "picture": "https://raw",   "height": 7,   "weight": 69,   "types": [    {       "slot": 1,      "type": {         "name": "poison",         "url": "https://poke"       }    },     {       "slot": 2,       "type": {         "name": "grass",         "url": "https://poke"       }    }]}变成这样的东西:{   "name": "bulbasaur",   "picture": "https://raw",   "height": 7,   "weight": 69,   "types": [ "poison", "grass" ] }另外,我想提一下,我有一个包含 151 个的数组。并非每个对象都包含两种类型;有些只包含一个。我相信这是我迄今为止尝试过的大部分方法都不起作用的原因。预先感谢您的帮助。
查看完整描述

3 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

我认为这就是您想要的,您需要在循环中为您的数据集添加此代码段并将其推送到新数组中:


const Obj = { 

  "name": "bulbasaur", 

  "picture": "https://raw", 

  "height": 7, 

  "weight": 69, 

  "types" : [{ 

    "slot": 1, 

    "type": { 

      "name": "poison", 

      "url":"https://poke" 

  }}, { 

    "slot": 2, 

    "type": { 

      "name": "grass", 

        "url":"https://poke" 

    }}

]};


const newObj = {

  ...Obj,

  types: Obj.types.map((el) => el.type.name),

}


console.log(newObj)


查看完整回答
反对 回复 2022-05-22
?
心有法竹

TA贡献1866条经验 获得超5个赞

尝试使用地图


let obj={ name: "bulbasaur", picture: "https://raw", height: 7, weight: 69, types : [{ slot: 1, type: { name: "poison", url:"https://poke" }}]};

obj.types=obj.types.map( Type => Type.type.name);

console.log(obj.types);


查看完整回答
反对 回复 2022-05-22
?
UYOU

TA贡献1878条经验 获得超4个赞

通过使用 Ma'moun othman 提供的逻辑,我能够解决我需要的问题。


  "name": "bulbasaur", 

  "picture": "https://raw", 

  "height": 7, 

  "weight": 69, 

  "types" : [{ 

    "slot": 1, 

    "type": { 

        "name": "poison", 

        "url":"https://poke" 

    }}, { 

    "slot": 2, 

    "type": { 

        "name": "grass", 

        "url":"https://poke" 

    }}

]};


const newObj = {

  ...Obj,

  types: Obj.types.map((el) => el.type.name),

}


console.log(newObj)


查看完整回答
反对 回复 2022-05-22
  • 3 回答
  • 0 关注
  • 207 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号