首页  >  问答  >  正文

JavaScript 将数组中的数字按大小顺序排列

我时刚开始学习的小白,会的不多,在学习中发现数组在用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],最后两个还是没按顺序排列,请指教



刘虎刘虎1814 天前1319

全部回复(3)我来回复

  • 卢小强

    卢小强2019-11-02 13:50:15

    建议如果想自己写排序,可以百度下排序方法,个人建议冒泡排序法不错

    回复
    0
  • 刘虎

    我知道肯定有见到的方法 ,因为我现在会的不多,目前用自己会的技能做出来的就是上面的样子了,不知道哪里有问题

    刘虎 · 2019-11-02 13:52:06
  • 卢小强

    卢小强2019-11-02 13:49:12

    <script>function myFunction(){	var fruits = ["21421", "421421", "Apple", "Mango"];	fruits.sort();	var x=document.getElementById("demo");	x.innerHTML=fruits;}</script>
    我试了下好像没什么问题


    回复
    0
  • 取消回复