У меня есть массив таких массивов:
var array = [
[ '2','Yes'],
[ '2','Yes'],
[ '2','Yes'],
[ '3','Yes'],
[ '3','Yes'],
[ '4','Yes'],
]
Идентификаторы в приведенном выше массиве (2,3 и 4) динамически поступают из ответа сервера.Мне нужно посчитать количество записей для конкретного идентификатора.Я не могу понять, как обойти этот массив, чтобы получить ожидаемый результат.Ожидаемый результат:
[{"ID" : "4", Count : "1"},{"ID" : "3", Count : "2"},{"ID" : "2",Count : "3"}]
Обратите внимание, что вывод в порядке возрастания счета.
Это то, что я пытался:
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)
Я считаю,То, как я это делаю, не самый лучший подход, если данные динамические.Как мне сделать это лучше?