Något sådant här borde fungera, men är säkert inte det effektivaste. Koden antar att all data kommer i timestamp-ordning.
var testArray = [
'1_2015-11-19 09:00:00',
'2_2015-11-19 09:00:00',
'3_2015-11-19 09:00:00',
'1_2015-11-19 09:30:00',
'2_2015-11-19 09:30:00',
'3_2015-11-19 09:30:00',
'1_2015-11-19 10:00:00',
'2_2015-11-19 10:00:00',
'3_2015-11-19 10:00:00'
];
var testResult = (function(a) {
var result = [];
var currentTs;
var currentIds = [];
var pushResult = function() {
if (currentIds.length > 0 ) {
result.push(currentIds[_.random(currentIds.length-1)]+'_'+currentTs)
}
}
_.each(a, function(a) {
var parts = a.split('_');
if ( parts[1] !== currentTs) {
pushResult();
currentTs = parts[1];
currentIds = [];
}
currentIds.push(parts[0]);
});
pushResult();
return result;
})(testArray);