结果为:[1,2,3,4,5,6,7,8,910]
简单排序 var b=[3,5,7,1,4,10,8,6]; var b2=b.sort(function (n1,n2){ return n2-n1; //降序 n2-n1<0 }); console.log(b2);//[10, 8, 7, 6, 5, 4, 3, 1] var b3=b.sort(function (n1,n2){ return n1-n2; //升序 n1-n2<0 }); console.log(b3);//[1, 3, 4, 5, 6, 7, 8, 10] 选择排序 var a1 =[2,4,1,8,3,6,5,9,7]; function sort1(b){ var num =null; var minimum=0; for(var i=0;i< b.length;i++){ minimum=i; for(var k =i+1;k< b.length;k++){ if(b[k]<b[minimum]){ minimum =k; } } num=b[i]; b[i]=b[minimum]; b[minimum]=num; } console.log(a1); } sort1(a1);4.快速排序 两个强制转换:将字符串中的数字提取出来; parseInt() parseFloat()
var a2 =[2,7,14,16,1,8,12,18,4,6,11]; function sort2(c){ if(c.length<2){ return c; } var midnum= parseInt(c.length/2); var number= c.splice(midnum,1)[0]; var left=[]; var right=[]; for(var i=0;i< c.length;i++){ if(c[i]<number){ //放左边 left.push(c[i]); } else{ //放右边 right.push(c[i]); } } return sort2(left).concat(number).concat (sort2(right)); } sort2(a2); console.log(sort2(a2));小练习: 将 today-is-monday 转换为 Today-Is-Monday
var str="today-is-monday "; function s1(a){ a= a.split ("-"); var ss =""; for(var i =0;i< a.length;i++){ var letter = a[i].charAt(0).toUpperCase()+a[i].substr(1); ss=ss+letter+(i< a.length-1 ? "-" :""); // console.log(ss); //Today Today-Is Today-Is-Monday } return ss; } console.log(s1(str));