I have an array as shown below.
var inputData = [
{label:1, time: Mon},
{label:1, time: Tue},
{label:2, time: Wed},
{label:2, time: Mon},
{label:2, time: Thu},
{label:3, time: Tue},
{label:3, time: Mon},
{label:3, time: Mon},
{label:3, time: Thu},
{label:1, time: Fri},
......
];
Label 1 to 3, time from Monday to Friday. I want to count the amount of each combination of shortcuts and time. Finally, I need an array like this:
var newArray = [
{label:1, time:Mon, count:19},
{label:1, time:Tue, count:34},
{label:1, time:Wed, count:36},
{label:1, time:Thu, count:21},
{label:1, time:Fri, count:32},
{label:2, time:Mon, count:55},
{label:2, time:Tue, count:25},
{label:2, time:Wed, count:87},
{label:2, time:Thu, count:44},
{label:2, time:Fri, count:56},
......
];
This is what I tried, but unfortunately it did not work. Can anyone help? Appreciate!
var labelArr = d3.map(inputData, function(d) {return d['label'];}).keys();
var filteredTime = d3.map(inputData, function(d) {return d['time'];}).keys();
var newArray = [];
for(var i = 0;i < filteredTime.length; i++){
var count = 0;
for(var j = 0; j < inputData.length; j++){
if(inputData[j]['time'] === filteredTime[i]){
for(var s = 0; s < labelArr.length; s++){
if(inputData[j]['label'] === labelArr[s]){
count++;
}
}
}
}
newArray.push({
'label':labelArr[s],
'time': filteredTime[i],
'count':count
})
}