首页 > 解决方案 > 如何将对象转换为数组并添加键

问题描述

如何转换对象,例如:

{
  "28fca3e7-7b5a-95b1-205c-03ff199dc2b4": 6,
  "426fb283-6fa9-a58c-e896-f795a5d42c50": 8,
  "629fe212-0d74-f5ce-d476-baa527252ffb": 12,
} 

进入一个数组,如:

[{
  "id": "28fca3e7-7b5a-95b1-205c03ff199dc2b4",
  "count": 6
},
{
  "id": "629fe212-0d74-f5ce-d476-baa527252ffb",
  "count": 8
},
{
  "id": "426fb283-6fa9-a58c-e896-f795a5d42c50",
  "count": 12,
}]

我想专门将键“id”和“count”添加到数组的每个对象中的元素中。

我已经使用以下代码将对象转换为数组:-

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

结果是这样的:-

[
  {
    "28fca3e7-7b5a-95b1-205c-03ff199dc2b4": 6,
  },

  {
    "629fe212-0d74-f5ce-d476-baa527252ffb": 8,
  },

  {
    "426fb283-6fa9-a58c-e896-f795a5d42c50": 12,
  },
]

我想将上述键(“id”和“count”)添加到这个数组中。

标签: javascriptarrays

解决方案


您可以使用“getOwnPropertyName”来获取对象的所有键并将它们分配给列表或数组。让我知道我的回答是否有帮助!

var text = {
    "28fca3e7-7b5a-95b1-205c-03ff199dc2b4": 6,
    "426fb283-6fa9-a58c-e896-f795a5d42c50": 8,
    "629fe212-0d74-f5ce-d476-baa527252ffb": 12};

var keys = Object.getOwnPropertyNames(this.text);

keys.forEach(x => {
      let newKeyObject = new keyObject();
      newKeyObject.key = x;
      newKeyObject.count = this.text[x];
      this.keyObjectList.push(newKeyObject);
    });

console.log(JSON.stringify(this.keyObjectList));

推荐阅读