我时刚开始学习的小白,会的不多,在学习中发现数组在用sort()排序时并不是完全按大小顺序排列,和数字的位数还有关系,所以我想自己尝试让数组按从小到大的顺序排列,自己敲了一些代码,但是最后还是有问题,请各位大佬解释并求纠正方法。代码如下:
var box=Array(12,8,24,23,54)
var x=box.length
var i=0
do{
i=i+1;
var name="b"+i;
window[name]=box.pop();
console.log(name);
var x=box.length;
}while(x>0)
do{
if(b1<b2)
{if(b2<b3)
{if(b3<b4)
{if(b4<b5)
{b5=b5;
}else{var x5=b5;b5=b4;b4=x5;}}else{var x4=b4;b4=b3;b3=x4;}}else{var x3=b3;b3=b2;b2=x3;}}else{var x2=b2;b2=b1;b1=x2;console.log(box=Array(b1,b2,b3,b4,b5))}}while(b1<b2<b3<b4<b5==true)
最后输出的数组是[8, 23, 24, 54, 12],最后两个还是没按顺序排列,请指教
建议如果想自己写排序,可以百度下排序方法,个人建议冒泡排序法不错