我正在尝试使用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>
答案 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;
});