javascript - 如何使用 dojo 对 Json 中的不同值进行计数或求和

标签 javascript json dojo arcgis-server

我从 ArcGIS 服务器收到了一个 Json 响应,如下所示:

{  "displayFieldName" : "ELTTYPE", 
"features" : [
{
  "attributes" : {
    "ELTTYPE" : "Faldunderlag", 
    "DATANR" : 721301, 
    "ELEMENTNR" : 40, 
    "AREALTYPE" : "BELÆGNING", 
    "SHAPE.area" : 26.4595572
  }
}, 
{
  "attributes" : {
    "ELTTYPE" : "Prydplæne", 
    "DATANR" : 721301, 
    "ELEMENTNR" : 2, 
    "AREALTYPE" : "GRÆS", 
    "SHAPE.area" : 1993.23450096
  }
}, 
{
  "attributes" : {
    "ELTTYPE" : "Busket", 
    "DATANR" : 721301, 
    "ELEMENTNR" : 18, 
    "AREALTYPE" : "BUSKE", 
    "SHAPE.area" : 2105.69020834
  }
}...... and so on ]
}

我喜欢使用 ELEMENTNR 的不同值和 SHAPE.area 的汇总值制作数据网格。

有人知道如何做到这一点吗?

塞巴斯蒂安

最佳答案

参见Array.prototype.filter

您需要包含过滤器脚本片段才能将其用于不受支持的浏览器。

function reduceMyData(input) {
  var check = {};
  return input.filter(function(item, index, ary){
    var id = item.attributes["ELEMENTNR"];
    if (check[id]) return false;
    return check[id] = true;
  });
}

var myFeatures = reduceMyData(data.features);

关于javascript - 如何使用 dojo 对 Json 中的不同值进行计数或求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2271583/

相关文章:

javascript - 使用react从animationFrame内部访问状态数组时出现问题

json - 玩 & ReactiveMongo : How to deserialize Json from request in controller

android - 动态更新 PhoneGap 应用程序的 dojox EdgeToEdge 列表

javascript - AngularJS 在另一个函数中使用全局作用域函数

Javascript,调用 Java Applet 方法抛出 TypeError

json - 如何修复 Swift 4 中的 [BoringSSL] 长度错误?

javascript - 如果以编程方式设置初始值,Dojo InlineEditBox 将在单击时清除

javascript - 如何解决 Android Phonegap 应用程序 SyntaxError : Parse error?(黑屏问题)

javascript - 匹配某些字符之间的所有内容

json - 获取 YouTube 直播的当前观看人数