JavaScript中数据缩减后的排序

JavaScript中数据缩减后的排序,javascript,json,sorting,Javascript,Json,Sorting,我从JSON文件中解析了一组数据,并将其减少到了出现的次数。我现在需要将出现的次数从最多到最少排序。例如: var myData = [{ "datapoint1": "55", "datapoint2": "500", "datapoint3": "mydata@data.com", "datapoint4": 5656 }, { "datapoint1": "55", "datapoint

我从JSON文件中解析了一组数据,并将其减少到了出现的次数。我现在需要将出现的次数从最多到最少排序。例如:

var myData = [{
        "datapoint1": "55",
        "datapoint2": "500",
        "datapoint3": "mydata@data.com",
        "datapoint4": 5656
    }, {
        "datapoint1": "55",
        "datapoint2": "404",
        "datapoint3": "mydata2@data.com",
        "datapoint4": 5656
    }, {
        "datapoint1": "55",
        "datapoint2": "502",
        "datapoint3": "mydata3@data.com",
        "datapoint4": 5656324
    }, {
        "datapoint1": "55",
        "datapoint2": "500",
        "datapoint3": "mydata33@data.com",
        "datapoint4": 5656554
    }
]
然后,我使用JSON并对其进行解析、映射,然后减少到每个DataPoint2出现的次数。为了简洁起见,上面的虚拟数据重复了5000-6000次

var dataParsed = JSON.parse(myData);
var mapDataPoint2 = dataParsed.map(function (data) {
    return data.datapoint2
});

var reduceDatapoint2 = mapDataPoint2.reduce(function (prev, cur) {
    prev[cur] = (prev[cur] || 0) + 1;
    return prev;
}, {});

console.log(reduceDatapoint2)
在这一点上,我可以得到控制台的输出,记录每次发生的次数。我现在需要能够从大多数到最少进行排序。我试过了,分类和 似乎无法执行任何操作,控制台中没有错误


任何帮助都将不胜感激

您可以从简化数据点2中获取值进行排序:

myData.sort((a,b) => reduceDatapoint2[b.datapoint2] - reduceDatapoint2[a.datapoint2]);
演示

var myData=[{ 数据点1:55, 数据点2:500, 数据点3:mydata@data.com, 数据点4:5656 }, { 数据点1:55, 数据点2:404, 数据点3:mydata2@data.com, 数据点4:5656 }, { 数据点1:55, 数据点2:502, 数据点3:mydata3@data.com, 数据点4:5656324 }, { 数据点1:55, 数据点2:500, 数据点3:mydata33@data.com, 数据点4:56554 } ] var dataParsed=myData; var mapDataPoint2=dataParsed.mapfunctiondata{ 返回data.datapoint2 }; var reducedapatoint2=mapDataPoint2.reducefunctionprev,cur{ 上一个[当前]=上一个[当前]| | 0+1; 返回上一个; }, {}; console.LogReduceDapPoint2 myData.sorta,b=>reduceDatapoint2[b.datapoint2]-reduceDatapoint2[a.datapoint2];
console.logmyData;那么您想按datapoint2具有相同值的次数对数据进行排序吗?@JacquesMarais-这是正确的!编辑:我想对每个datapoint2出现的次数进行排序。举个例子:如果500出现17次,502出现13次,404出现7次,那么我想用500,然后502,然后404来排序。我想进一步澄清我的请求。我想对每个datapoint2出现的次数进行排序。举个例子:如果500发生了17次,502发生了13次,404发生了7次,那么我想先用500来排序,因为它发生的次数最多,然后是502,然后是404。