JSFiddle - React, Tailwind, and code Playground
JavaScript
var json = '[{"cardAid":"ALPHG","displayName":"ALPHG","port":"A"},{"cardAid":"ALPHG","displayName":"ALPHG","port":"B"},{"cardAid":"SFD","displayName":"SFD","port":"C"},{"cardAid":"SFD","displayName":"SFD","port":"D"},{"cardAid":"ARR","displayName":"ARR","port":"E"}]';
var arr = JSON.parse(json);
console.log(count(arr));
function count(arr) {
var map = {};
for (var i = 0; i < arr.length; i++) {
var name = arr[i].cardAid;
var port = arr[i].port;
if (name in map){
map[name].Count++;
map[name].Port += ',' + port;
} else {
map[name] = { Count: 1, Port: port };
}
}
return map;
}