使用Javascript进行JSON计数和排序

使用Javascript进行JSON计数和排序,javascript,json,Javascript,Json,这是我的JSON数据: { "EF": [ { "OP": "op1", "pound": 2000, "Date": "2012-1-13T00:00:00.000Z" }, { "OP": "op1", "pound": 1800, "Date": "2014-12-6T00:00:00.000Z" }, { "OP": "op2", "pound":

这是我的JSON数据:

{
  "EF": [
    {
      "OP": "op1",
      "pound": 2000,
      "Date": "2012-1-13T00:00:00.000Z"
    },
    {
      "OP": "op1",
      "pound": 1800,
      "Date": "2014-12-6T00:00:00.000Z"
    },
    {
      "OP": "op2",
      "pound": 300,
      "Date": "2013-6-1T00:00:00.000Z"
    }
  ]
}
我想对每个参数值进行计数,并从最大值到最小值进行排序,得到如下表格:

OP:op1(2),OP2(1)磅:2000,1800,300日期: 2014-12-6T000:00:00.000Z,2013-6-1T000:00:00.000Z, 2012-1-13T00:00:00.000Z

我尝试使用d3.nest(),但没有太大成功。有什么想法吗

//数据库中的JSON?
var json={
“EF”:[{
“OP”:“op1”,
“英镑”:2000,
“日期”:“2012-1-13T00:00:00.000Z”
}, {
“OP”:“op1”,
“磅”:1800,
“日期”:“2014-12-6T000:00:00.000Z”
}, {
“OP”:“op2”,
“磅”:300,
“日期”:“2013-6-1T000:00:00.000Z”
}]
};
//按磅排序
sort(函数(a,b){
如果(a磅b磅)返回-1;
返回0;
});
var hash={}//记录计数
//计算数值
for(json.EF中的var i){
var obj=json.EF[i];
if(散列[obj.OP]){
散列[obj.OP]+=1;
}否则{
散列[obj.OP]=1;
}
}
//分类
log(“排序:”,json);
log(“计数:”,散列);

//现在,当您通过json循环显示值时,只需检查计数并显示它们
从大到小什么?首先,您需要将json字符串解析为一个普通的ol'javascript对象,然后您可以排序或执行任何操作。。。您的“表格”并不是以我想要计算字符串字段(“OP”)出现次数的方式查看所有表格。对于数字和日期字段,我只想找到排序数据,您是否可以清理输出数据?您希望它在操作结束时的具体外观如何?数据库包含多个字段(字符串、数字和日期字段)。对于字符串字段,我想计算每个字符串的出现次数并列出它。对于数字和日期,我想对它们进行排序。我知道现在该怎么办了。谢谢Matt@Amir没问题。:)好的,这个解决方案不适用于我的大型数据库。我有10000条不同OP值的记录。你有什么建议?再次感谢!你在使用什么数据库?您应该能够通过查询进行计数,与sort.by数据库相同,我指的是包含10000条记录的JSON数据。