87,904
社区成员
发帖
与我相关
我的任务
分享
var arr=["pens_0","pens_2","pens_3","pens_5","pens_1","pens_4"];
var compare = function (string1, string2) {
for(var i=1;i<string1.length;i++){
var val1 = string1[i];
var val2 = string2[i];
if (val1 < val2) {
return false;
} else if (val1 > val2) {
return true;
}
}
return false;
}
arr.sort(compare);
console.log(arr);
var arr=["pens_0","pens_2","pens_3","pens_5","pens_1","pens_4"];
var compare = function (val1, val2) {
if (val1 < val2) {
return -1;
} else if (val1 > val2) {
return 1;
}else{
return 0;
}
}
arr.sort(compare);
console.log(arr);
var compare = function (string1, string2) {
for(var i=1;i<string1.length;i++){
var val1 = string1[i];
var val2 = string2[i];
if (val1 < val2) {
return -1;
} else if (val1 > val2) {
return 1;
}
}
return 0;
}
var arr=["pens_0","pens_2","pens_13","pens_115","pens_1","pens_4"];
var compare = function (string1, string2) {
var val1 = parseFloat(string1.match(/\d+/)[0]);
var val2 = parseFloat(string2.match(/\d+/)[0]);
return val1 - val2;
}
arr.sort(compare);
console.log(arr);
var arr=["pens_0","pens_12","pens_3","pens_5","pens_11","pens_4"];
//只比较以下划线分隔的数值部分
var compare = function (val1, val2) {
//如果没有分隔符则当成一样大
if(val1.indexOf('_')==-1 || val2.indexOf('_') ==-1)
return 0;
//拆分并转换成整形
var n1 =parseInt(val1.split('_')[1]),
n2 =parseInt(val2.split('_')[1]);
if (n1 < n2) {
return -1;
} else if (n1 > n2) {
return 1;
}else{
return 0;
}
}
arr.sort(compare);
console.log(arr);