我需要按如下方式订购一个字符串:
lu9,ma9,mi9,do9,lu10,ma10,mi10,lu11,ma11,mi11
为此,我有以下代码:
var hours = "lu9,lu10,lu11,ma9,ma10,ma11,mi9,mi10,mi11,do9";
myExit = hours.split(',').sort(function (a, b) {
var reg = /\d+/;
var num = 2 * (+(0 + a.match(reg)) - +(0 + b.match(reg)));
var str = a > b ? 1 : a < b ? -1 : 0;
return num + str;
});
alert(myExit);
该代码工作正常,但问题是字符串按字母顺序排列:
do9,lu9,ma9,mi9,lu10,ma10,mi10,lu11,ma11,mi11
“do9”应该是最后一个,所以:
lu9,ma9,mi9,do9...
这个想法是根据西班牙语中的星期几对这个变量进行排序:
lu = lunes
ma = martes
mi = 微量
ju = jueves
vi = 维尔内斯
sa = 萨巴多
做=多明戈
如何使用我的代码?