在ASP经典脚本中,我有一个循环。在每个记录集中,都有一个名为“ portos”(7、4、12)的数组,我需要在其中转发最高和第二高的值。
现在,我获得最大值并将其传递给带有此链接的链接:
<script type="text/javascript">
var v=[<%=portos %>]
var porto=parseInt((Math.max.apply(0,v)), 10);
document.links["link"].href += porto;
</script>
<a id="link" href="somepage.asp?maxv=">Link</a>
不幸的是,它仅在循环之外起作用。在内部,我将在第一个记录集中获得所有编号,而在其他记录集中则没有任何编号。这是一个问题。另一个在标题中:如何将第二高的值添加到链接中?
我对Java一无所知,并且从那以后开始思考这个问题……请帮助!
最佳答案
可能最简单的解决方案是将数组从最高到最低排序,然后获取前两个成员:
// Array might be numbers or strings or a bit of both
var x = ['123', '14', 7, 4, '12', -3];
// Sort numbers from higest to lowest
function sortNumReversed(a, b) {
// Ensure a and b are numbers, lots of ways to do this
a = Number(a), b = Number(b);
// Return result of comparison
return b == a ? 0 : b < a? -1 : 1;
}
x.sort(sortNumReversed);
alert('Highest: ' + x[0] + '\nSecond highest: ' + x[1]);
关于javascript - 使用Java在ASP(经典)中循环期间在数组中找到第二个最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14697693/