js字符串按照某一个规则进行排序
假如现有字符串01,03,02,11,13,12,21,23,20排序后得到01,11,21,02,12,20,03,13,23即正序排列的同时,最后一位相同的在一起。如...
假如现有字符串 01,03,02,11,13,12,21,23,20
排序后得到 01,11,21,02,12,20,03,13,23
即正序排列的同时,最后一位相同的在一起。如果第二个数是0的(如20),不可以在最前面。谢谢。 展开
排序后得到 01,11,21,02,12,20,03,13,23
即正序排列的同时,最后一位相同的在一起。如果第二个数是0的(如20),不可以在最前面。谢谢。 展开
3个回答
展开全部
var arr = ['01','03','02','11','13','12','21','23','20'];
arr.sort(function(a, b) {
return (a % 10 == 0 ? +a + 2 + "" : a).split("").reverse().join("") - (b % 10 == 0 ? +b + 2 + "" : b).split("").reverse().join("")
});
sort方法里面的函数就是这个规则。返回负数代表前一个小,返回0代表一样大,返回正数代表后一小
展开全部
<script type="text/javascript">
function lineupStudents(students){
var stu=students.split(",");
stu.sort(function(a,b){
if(a.length==b.length){
return a.localeCompare(b);
}else{
return b.length-a.length;
}
});
document.write(stu);
}
var s1 = "T,A,C,B,D";
lineupStudents(s1);
</script>
function lineupStudents(students){
var stu=students.split(",");
stu.sort(function(a,b){
if(a.length==b.length){
return a.localeCompare(b);
}else{
return b.length-a.length;
}
});
document.write(stu);
}
var s1 = "T,A,C,B,D";
lineupStudents(s1);
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sort()js排序方法你可以直接用 正好满足你的需求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询