配列arrayに対して変数inputの値に最も近いk個のarrayの要素を取得できるメソッドが作りたいですが,方法がわかりません.
質問タイトルだけではよくわからないと思うので,以下の例を提示します.

配列arrayを以下と仮に定義する

array = [1.3, 1.4, 6.3, 2.9, 3.0]

ここで,inputを以下と仮に定義する

input = 3.5

このとき,k = 3とするとarrayの要素でinputに最も近い値3つは,

1.4, 2.9, 3.0

なので,返り値として,[1, 3, 4]をとる.
このようなメソッドを作りたいですが,わかりません.
どなたかご教授よろしくお願いいたします.