Нужен алгоритм сортировки массива.
Есть условно массив с некоторым количеством отсортированных чисел от меньшего к большему

Код AS3:
var arr:Array = [3, 5, 9, 14, 27]
Необходимо по ключу числу вернуть ближайшее значение. Например по ключу 16 должен вернуть число 14 по ключу 35 должен вернуть 27. Если есть идентичное число то должен вернуть его, если по ключу можно вернуть два числа, то есть по ключу 4 в данном случае можно вернуть 3 и 5, то должен вернуть наименьшее.