我正在尝试从ID中存在文本中的数字然后选择其中最高的数字并在ID HTML字段中回显它,但是将回显的值取决于ID的值:代码解释得更多。 / p>
<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>
答案 0 :(得分:1)
我认为,您希望检索具有最高值的数组的索引并对索引应用切换。
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 ;