请输入这组数据(1 5 9 3 5 7 22 88 55 222 777 111 -1 )为什么降序排列会失效?

var inp = prompt("请输入数字:");

       var aa = [];

       var i = 0;

       while (inp != "-1") {

           aa[i] = inp;

           i++;

           inp = prompt("请输入数字:");

       }

       for (var k = 0; k < aa.length; k++) {

           document.write(aa[k] + "&nbsp;&nbsp;&nbsp;");

       }

       document.write("<hr>");

       aa.sort(function(a, b) {

           return a < b

       })

       document.write(aa + "<hr>" + typeof(aa));


西瓜萝卜
浏览 768回答 1
1回答

西瓜萝卜

我找到原因了,因为数组内的元素是字符串类型,所以降序排列时,是按照相关编码的顺序来排列。并不是按照number类型来排列。如果把数组内的元素转换成number类型,就可以正常实现了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript