Всем привет.
Есть такая задача. Допустим, есть число 150. Есть массив с числами [145, 5, 7, 148, 161,190,153 и т.д.].
Каким образом можно узнать ближайшее меньшее и ближайшее большее число? (В данном примере это должны быть числа 148 и 153.) Я встрял ч.г. с этим вопросом. Заранее всем спасибо.
Каким образом можно узнать ближайшее меньшее и ближайшее большее число?
Пройтись по массиву, сравнивая каждое число, и обновляя одно из ближайших, если его надо обновить, no magic here
var closestLeft,
closestRight,
data = [145, 5, 7, 148, 161, 190, 153],
number = 150,
current;
for (var i = 0; i < data.length; i++) {
current = data[i];
if (current < number && (typeof closestLeft === 'undefined' || closestLeft < current)) {
closestLeft = current;
} else if (current > number && (typeof closestRight === 'undefined' || closestRight > current)) {
closestRight = current;
}
}
jquery
awesome link
Код писать не буду, покажу алгоритм (возможно, не самый оптимальный, ручаться за это не стану)
Собственно, все
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости