【发布时间】:2019-10-15 23:04:27
【问题描述】:
我有一个这样的数组:
var array = [
[ '2','Yes'],
[ '2','Yes'],
[ '2','Yes'],
[ '3','Yes'],
[ '3','Yes'],
[ '4','Yes'],
]
上述数组(2,3 和 4)中的 ID 动态来自服务器响应。 我需要计算特定 ID 的条目数。 我无法弄清楚如何遍历这个数组以获得预期的输出。 预期的输出是:
[{"ID" : "4", Count : "1"},{"ID" : "3", Count : "2"},{"ID" : "2",Count : "3"}]
注意输出是按Count的升序排列的。
这是我尝试过的:
var temp1 = [];
var temp2 = [];
var temp3 = [];
for(var i = 0; i < array.length; ++i){
if(array[i][0] == 2){
temp1.push(array[i])
}
if(array[i][0] == 1){
temp2.push(array[i])
}
if(array[i][0] == 3){
temp3.push(array[i])
}
}
var output = [{
ID: "2",
Count: temp1.length,
},
{
ID: "1",
Count: temp2.length,
},
{
ID: "3",
Count: temp3.length
}]
console.log(output)
如果数据是动态的,我相信我的做法并不是最好的方法。 我该如何以更好的方式做到这一点?
【问题讨论】:
-
我正在更新问题,请检查
标签: javascript arrays node.js sorting