Поиск границы массива, в которую попадает значение:
function reduce(search, pattern) {
let cnt = pattern.length;
for (i = 0; i < cnt; i++) {
if ((typeof(pattern[i + 1]) == 'undefined') || (search >= pattern[i] && search < pattern[i + 1]) ) {
return i;
}
}
}
//example:
let array = [0,320,380,480,600,800,1000];
reduce(390, array);
Например, переданное в функцию число 390 вернет индекс 2 (больше 380, но меньше 480).