与此数字分类器有点麻烦

时间:2019-09-09 05:43:53

标签: javascript html sorting

我正在尝试根据用户输入的升序或降序对数字进行排序。我将文本字段中的数字排序到一个数组中,并使用if-else语句根据select标记的值以升序或降序排序。但是,代码在被告知时仅按升序排序,而不按降序排序。我只是想知道如何解决此问题。

这是我第一次使用HTML和Javascript进行编码,更不用说编码了,因此此代码可能效率很低,但是我愿意接受任何技巧。

function sortingFunction() {
    var arr = [];
    arr.push(document.getElementById("one").value);
    arr.push(document.getElementById("two").value);
    arr.push(document.getElementById("three").value);
    arr.push(document.getElementById("four").value);
    arr.push(document.getElementById("five").value);
    arr.push(document.getElementById("six").value);
    arr.push(document.getElementById("seven").value);
    arr.push(document.getElementById("eight").value);
    arr.push(document.getElementById("nine").value);
    arr.push(document.getElementById("ten").value);
    var filtered = arr.filter(Boolean);
    var x = document.getElementById("mySelect").value;
    if (x = "ascending") {
    document.getElementById("answer").innerHTML = "Answer: " + filtered.sort(function(a,b) { return a - b;});
    } else {
    document.getElementById("answer").innerHTML = "Answer: " + filtered.sort(function(a,b) { return b - a;});
    }
}

//Text Fields Here with id="one" to "ten"

    <button onclick="sortingFunction()">Submit</button>
    <select name="test" id="mySelect">
        <option value="ascending">Ascending Order</option>
        <option value="descending">Descending Order</option>
    </select>
    <p id="answer"></p>

1 个答案:

答案 0 :(得分:-1)

if (x = "ascending")更改为if (x == "ascending")