我有一个这样的数组数组:
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)
如果数据是动态的,我相信我这样做的方式不是最好的方法。我该如何以更好的方式做到这一点?