将地图对象转换为 Java 脚本中的对象数组

vis*_*hnu 5 javascript d3.js

我是 JS 新手。

我有一个地图对象。

 Map {$Central: 265045, $East: 178576, $South: 103926, $West: 272264}
Run Code Online (Sandbox Code Playgroud)

我想把它转换成一个对象数组

 [ {region:"Central", value: 265045}, {region:"East", value: 178576},
 {region:"South", value: 103926}, {region:"West", value: 272264} ]
Run Code Online (Sandbox Code Playgroud)

Joh*_*anP 8

您可以使用forEach回调Map

var res = [];
map.forEach(function(val, key) {
    res.push({ region: key, value: val });
});
Run Code Online (Sandbox Code Playgroud)


dan*_*ana 5

您可以使用for ... in迭代对象(映射)的键。此外,看起来您的对象具有以美元符号开头的属性,并且您想要的结果已被删除。你可以用它substring来做到这一点。

var a = [];
for (var k in map) {
    a.push({region:k.substring(1), value:map[k]});
}
Run Code Online (Sandbox Code Playgroud)