Groovy排序彩虹的颜色

dbr*_*rin 1 sorting groovy

鉴于彩虹颜色的排序方式如下:ROYGBIV(R =红色,O =橙色,Y =黄色,G =绿色,B =蓝色,I =靛蓝,V =紫色)我如何获取列表:

def partialUnorderedList =["orange", "blue", "red","green"] 
Run Code Online (Sandbox Code Playgroud)

并将其分类为ROYGBIV订单,从而导致:

def  partialOrderedList = ["red", "orange", "green", "blue"]
Run Code Online (Sandbox Code Playgroud)

Chr*_*orf 7

这是我对这个问题的看法:

def order = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]
def input = ["orange", "blue", "red", "green"]

def sorted = input.sort { order.indexOf it }
Run Code Online (Sandbox Code Playgroud)

它使用输入列表中给定元素的引用列表中的索引位置作为排序标准.