如何将包含对象的对象转换为对象数组

新手上路,请多包涵

这是我的对象

var data = {
    a:{"0": "1"},
    b:{"1": "2"},
    c:{"2": "3"},
    d:{"3": "4"}
};

这是我期望的输出

data = [
    {"0": "1"},
    {"1": "2"},
    {"2": "3"},
    {"3": "4"}
]

原文由 Nick Div 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 287
2 个回答

这对我有用

var newArrayDataOfOjbect = Object.values(data)

另外,如果您有键值对象,请尝试:

 const objOfObjs = {
   "one": {"id": 3},
   "two": {"id": 4},
};

const arrayOfObj = Object.entries(objOfObjs).map((e) => ( { [e[0]]: e[1] } ));

将返回:

 [
  {
    "one": {
      "id": 3
    }
  },
  {
    "two": {
      "id": 4
    }
  }
]

原文由 Thierry 发布,翻译遵循 CC BY-SA 4.0 许可协议

var data = {
    a:{"0": "1"},
    b:{"1": "2"},
    c:{"2": "3"},
    d:{"3": "4"}
};

var myData = Object.keys(data).map(key => {
    return data[key];
})

这对我有用

原文由 Shuwei 发布,翻译遵循 CC BY-SA 3.0 许可协议

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