重新订购ruby数组

Oli*_*via 1 ruby

我有一个ruby数组:

["A", "C", "B", "D", "F", "E"]
Run Code Online (Sandbox Code Playgroud)

用户将提供输入,例如

input = "B"
Run Code Online (Sandbox Code Playgroud)

我想移动数组中的值,因此数组的第一项等于input,并获得新数组的结果:

["B", "D", "F", "E", "A", "C"]
Run Code Online (Sandbox Code Playgroud)

用户将从下拉选项中进行选择,因此他们只能从原始数组中选择字母.

Sag*_*dya 5

你可以用Array#rotate.

arr = ["A", "C", "B", "D", "F", "E"]

arr.rotate(arr.index('B'))
 #=> ["B", "D", "F", "E", "A", "C"]
Run Code Online (Sandbox Code Playgroud)