我试图从ID中存在的文本中获取数字,然后选择ID中最高的文本并在ID HTML字段中回显它,但是将回显的值取决于ID的值:代码将对其进行更多说明。

<script type="text/javascript">
    window.onload = function status() {
        var d = document.getElementById('mom').innerText.match(/\d+/)[0];
        var h = document.getElementById('dad').innerText.match(/\d+/)[0];
        var u = document.getElementById('sister').innerText.match(/\d+/)[0];
        var n = document.getElementById('brother').innerText.match(/\d+/)[0];
        var s = document.getElementById('none').innerText.match(/\d+/)[0];

        var res = [d, h, u, n, s];
        var largest = Math.max.apply(Math, res);

        switch (largest) {
            case 0: result = '<div>Im A</div>'; break;
            case 1: result = '<div>Im B</div>'; break;
            case 2: result = '<div>Im C</div>'; break;
            case 3: result = '<div>Im D</div>'; break;
            case 4: result = '<div>Im E</div>'; break;
        }

        document.getElementById("res").innerHTML = result ;
    }
</script>

最佳答案

我想,您想检索具有最高值的数组的索引并在索引上应用切换。

var res = [d, h, u, n, s];
//var largest = Math.max.apply(Math, res);
var maxValueIndex = res.reduce((iMax, x, i, arr) => x > arr[iMax] ? i : iMax, 0);

switch (maxValueIndex) {
    case 0: result = '<div>Im A</div>'; break;
    case 1: result = '<div>Im B</div>'; break;
    case 2: result = '<div>Im C</div>'; break;
    case 3: result = '<div>Im D</div>'; break;
    case 4: result = '<div>Im E</div>'; break;
}
document.getElementById("res").innerHTML = result ;

关于javascript - 从JavaScript数组中回显最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48509048/

10-11 23:46