如何在 JavaScript 中将 Object {} 转换为 Array \[\] 键值对

新手上路,请多包涵

我想像这样转换一个对象:

{"1":5,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0}

变成这样的键值对数组:

[[1,5],[2,7],[3,0],[4,0]...].

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

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

阅读 934
2 个回答

您可以使用 Object.keys()map() 来执行此操作

 var obj = {"1":5,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0}
 var result = Object.keys(obj).map((key) => [Number(key), obj[key]]);

 console.log(result);

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

最好的方法是:

 var obj = {"1":5,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0}
var result = Object.entries(obj);

console.log(result);

如此处所示,调用 entries 将返回 [key, value] 对,如调用者所请求的。

或者,您可以调用 Object.values(obj) ,它只会返回值。

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

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