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],最后两个还是没按顺序排列,请指教
问题解答
回答1:建议如果想自己写排序,可以百度下排序方法,个人建议冒泡排序法不错
回答2:<script>function myFunction(){var fruits = ["21421", "421421", "Apple", "Mango"];fruits.sort();var x=document.getElementById("demo");x.innerHTML=fruits;}</script>我试了下好像没什么问题
相关文章:
