在Javascript中升序数字

时间:2015-06-29 12:31:50

标签: javascript

我正在尝试使用javascript创建一个html页面,并且必须将从用户获取的数字从最小数字排序到最大数字。我可以创建一个预定义的数组,但我无法弄清楚如何使用用户输入。任何人都可以给我一个提示吗?谢谢!我忘了添加数字必须用输入

上的逗号分隔
<html> 
<body>


<input type="text" id="userInput" />

<button onclick="myFunction()">Sort</button>



<script>


function myFunction() {
    var input = document.getElementById("userInput").value;
    var points = [input]
    points.sort(function(a, b){return a-b});
    document.write(points);


}
</script>

</body>
</html>

4 个答案:

答案 0 :(得分:1)

您可以通过获取所有数字部分使您的值成为数字数组,如下所示:

var points = input.match(/\d+/g);

这是最灵活的方式,因为您可以使用任何所需的分隔符。

答案 1 :(得分:0)

假设用户输入由空格分隔,则

 var points = input.split(' '); // split a string and return an array with the values

答案 2 :(得分:0)

您需要split ,或任意space个字符(标签,多个空格)

function myFunction() {
    var input = document.getElementById("userInput").value;

    if (input) {
        var points = input.split(/\s+|,/); // Split by space characteres or ,

        points.sort(function(a, b) {
            return a - b;
        });
        document.write(points);

    }
}

答案 3 :(得分:-1)

points.sort(function(a, b) { return a - b; });

你不需要这样做。您不需要函数参数,因为Javascript会在没有参数的情况下自动将数组从最小到最大自动排序。您只需要输入 array.sort();