Получить минуты, округлить в большую сторону до 15-минутного значения, установить это значение минут:
function roundTS(ts) {
var D = new Date(ts);
var m = 15 + Math.ceil( D.getMinutes() / 15);
D.setMinutes(m);
return D.getTime();
}
А если требуется именно с массивом минут, то примерно так:
function roundMinArr( D, arr) {
var i, m = D.getMinutes();
arr.sort((a,b)=>a-b);
for(i in arr) {
if( arr[i] < m) continue;
D.setMinutes(arr[i]);
return D;
}
D.setMinutes(60 + arr[0]);
return D;
}
var D = roundMinArr( new Date('2017-08-16T12:17+03:00'), [0,15,35,44,59]);
D.toString() // Wed Aug 16 2017 12:35:00 GMT+0300 (MSK)