排序数字javascript数组

时间:2018-05-28 08:39:05

标签: javascript arrays

我需要对表格中从最小到最大绘制的数字进行排序,以便表格不会删除。我该怎么做?



<html>
<head>
<title> Numery losowania </title>
<script>
    var n1= new Array (9);
    for(var i=0; i<n1.length;i++)
    {
        var rand= Math.floor(Math.random()*70);
        n1[i] = rand;
    }
 
    document.writeln("<table border = \"1\"");
   
    for(var i=0; i < n1.length;i++)
    {
        document.writeln("<tr><td>" + n1[i] + "</td></tr>");
    }
    document.writeln("</table>");
</script>
<form>
<input type="button" value="Odśwież" onclick="location.reload()">
</form>
</head>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

只需在循环前添加n1.sort();即可。

  

默认排序顺序是根据字符串Unicode代码点。

所以你需要将一个函数传递给它进行排序:

n1.sort((a,b) => a-b);

这将确保较低的数字是第一个

为了填充数组,使用Array.from()这将为您节省一些代码

<html>
<head>
<title> Numery losowania </title>
<script>
    var n1= Array.from({length: 9}, () => Math.floor(Math.random() * 70));
 
    document.writeln("<table border = \"1\"");

    n1.sort((a,b) => a-b); // sort the array
   
    for(var i=0; i < n1.length;i++)
    {
        document.writeln("<tr><td>" + n1[i] + "</td></tr>");
    }
    document.writeln("</table>");
</script>
<form>
<input type="button" value="Odśwież" onclick="location.reload()">
</form>
</head>

答案 1 :(得分:0)

<html>
<head>
<title> Numery losowania </title>
<script>
    var n1= new Array (9);
    for(var i=0; i<n1.length;i++)
    {
        var rand= Math.floor(Math.random()*70);
        n1[i] = rand;
    }

    document.writeln("<table border = \"1\"");
   n1.sort(function(a, b){return a - b});
    for(var i=0; i < n1.length;i++)
    {
        document.writeln("<tr><td>" + n1[i] + "</td></tr>");
    }
    document.writeln("</table>");
</script>
<form>
<input type="button" value="Odśwież" onclick="location.reload()">
</form>
</head>
</html>