我有一个像这样的数组:
def array = [
"release-3.0.0-23-9sz6gd",
"release-3.0.0-12-7hbs6",
"release-3.0.0-10-h7bdbc",
"release-3.0.0-3-g6h8xd",
"release-3.0.0-1-a6gbd6",
]
我需要它能够按相反的顺序按中间的数字(例如3.0.0-1)排序,如下所示:
if(this.state.cat){
return _.map(this.state.cat, categoria => {
if(this.state.search_receive){
somecode...
}else {
this.retornaItens(categoria);
//if I put the <p>code here</p> it works
}
});
retornaItens = (categoria) =>{
return ( <p>code..</p> ); }
如何用Groovy做到这一点?
我尝试关注Groovy: How to sort String array of text+numbers by last digit,但没有任何运气
答案 0 :(得分:1)
这似乎有效
def newArray = array.sort(false){[it.tokenize('-')[-3], it.tokenize('-')[-2] as Integer]}
在这里,我们对第一个破折号之后的字符串进行排序,然后对第二个破折号之后的整数进行排序