在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/

10-13 07:04