如何从输入到订单从最大到最少获取数字

时间:2016-12-17 19:25:30

标签: javascript html forms

我将从greates到最少的数字组织起来 这就是我所拥有的:

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $radio_AbsP
            If BitAND(GUICtrlRead($radio_AbsP), $GUI_CHECKED) Then
                GUICtrlSetState($edit_AbsP,$GUI_SHOW)
                GUICtrlSetState($edit_RelP,$GUI_HIDE)
            Else
                GUICtrlSetState($edit_AbsP,$GUI_HIDE)
                GUICtrlSetState($edit_RelP,$GUI_SHOW)
            EndIf
        Case $usrPrefs

    EndSwitch
WEnd    

由于

2 个答案:

答案 0 :(得分:2)

document.getElementById("Number").value的内容是一个字符串。如果要对字符串中的数字进行排序,则应该拆分该字符串(例如,按空格),然后对数组进行排序。

一旦你有了这个排序的数组 - 你可以再次创建该字符串(使用join函数)。

检查此示例:



function test() {
  var numbers = document.getElementById("Number").value;
  sorted = numbers.split(" ").sort(function(a, b){
    return a-b
  });
  console.log(sorted.join(" "));
}

<label for="">Numbers</label><br><br>
<input type="text" id="Number"><br><br>
<button  type="button" name="button" onclick="test()">Submit</button>
&#13;
&#13;
&#13;

  

请注意,Array.prototype.sort函数无法正常工作 - 它会返回一个新数组,其值已在内部排序。

答案 1 :(得分:0)

您只能对数组进行排序,因此您需要将值拆分为数组:

function test() {
  var numbers = document.getElementById("Number").value;
  var result = numbers.split(",").map(Number).sort(function(a, b){
    return a - b;
  });
  console.log(result);
}