使用 angularjs 从 JSON 构建地图



我有一个 RESTFUL WEB 服务以 JSON 格式返回数据。需要使用 AngularJS从服务返回的 JSON 构建一个 Map

例如,让 json 如下所示:

myJSON = [{
    id: 8,
    color: "red",
    value: "#f00"
},
{
    id: 37,
    color: "green",
    value: "#0f0"
},
{
    id: 45,
    color: "blue",
    value: "#00f"
}]

需要使用上述 JSON 中的 id 和值构建映射。我可以想象如下:

var map = [myJSON.id : myJSON.value]

这将返回类似的东西

map = {8: "red", 37: "green", 45: "blue"}

一个简单的解决方案是通过 JSON 数组循环并构建一个映射,但还有其他方法可以实现我的目标吗?

在数组上使用 reduce 函数。参见 MDN。请注意,这与角度无关。这是香草js。

var mapped = myJSON.reduce(function(map, field) {
    map[field.id] = field.color;
    return map;
}, {});

最新更新