将对象数组转换为其他格式的问题

时间:2019-07-18 15:12:39

标签: javascript arrays object

我正在努力将获得的数组转换为有用的格式:

给出

{
  "myValues": [{
    "0": {
      "id": "5ed32599-3c4d-49ad-8a1a-79bbc39a3e02",
      "value": "my Value",
      "value2": "my Value 2"
    },
    "1": {
      "id": "5ed32599-3c4d-49ad-8a1a-79bbc39a3e02",
      "value": "my Value",
      "value2": "my Value 2"
    },
    "id": "5ed32599-3c4d-49ad-8a1a-79bbc39a3e02"
  }]
}

我试图删除对象前面的数字,而只删除位于两个内部对象外部的ID。

因此,我将被告知:

{
  "myValues": [{
      "id": "5ed32599-3c4d-49ad-8a1a-79bbc39a3e02",
      "value": "my Value",
      "value2": "my Value 2"
    },
    {
      "id": "5ed32599-3c4d-49ad-8a1a-79bbc39a3e02",
      "value": "my Value",
      "value2": "my Value 2"
    }
  ]
}

我一直在尝试使用不同的方式将对象映射为新格式,但是我真的特别想摆脱ID

1 个答案:

答案 0 :(得分:1)

您可以使用Object.values()

我添加了filter()来删除单个id ...不确定示例数据中是否有错字...或者您是否还希望将其包含在结果中

const myValues=[  
      {  
         "0":{  
            "id":"5ed32599-3c4d-49ad-8a1a-79bbc39a3e02",
            value : 'my Value',
            value2 : 'my Value 2'
         },
         "1":{  
            "id":"5ed32599-3c4d-49ad-8a1a-79bbc39a3e02",
            value : 'my Value',
            value2 : 'my Value 2'
         },
         "id":"5ed32599-3c4d-49ad-8a1a-79bbc39a3e02"
      }
   ]
   
   const arrValues = Object.values(myValues[0]).filter(el => typeof el === 'object')
   
   console.log(arrValues)