Javascript数组的最大值并找到它的位置?

时间:2013-03-11 11:04:29

标签: javascript arrays numbers max

这里的javascript问题......

我需要在数组中找到最高的数字然后返回数组中此数字的位置。它无法排序,因为它需要与另一个数组中的单词匹配。下面是阵列:

var array1 = dan, john, james, harry, mike;
var array2 = 66, 33, 85, 34, 45;

基本上,这个数字必须与它已经拥有的名称相匹配。如果有人有答案,我会非常高兴:)

由于

4 个答案:

答案 0 :(得分:5)

var array1    = [ 'dan', 'john', 'james', 'harry', 'mike' ],
    array2    = [ 66, 33, 85, 34, 45 ],
    maxPos    = Math.max.apply( null, array2 ),
    posInArr  = array2.indexOf( maxPos );

console.log( array1[ posInArr ] );  // 'james'

上面的代码演示了使用Math.max()Array.prototype.indexOf()来获取array2中的最高数字,然后在该数组中找到该数字的索引。

答案 1 :(得分:2)

这是搜索脚本:

var array1 = ['dan', 'john', 'james', 'harry', 'mike'];
var array2 = [66, 33, 85, 34, 45];
var max = array2.length-1;
for (var i=array2.length-1; i--;) {
   if (array2[i] > array[max]) {
      max = i;
   }
}
alert(array1[max]);

答案 2 :(得分:0)

   var array1 = dan, john, james, harry, mike;


  Array.max = function( array ){
        return array1.indexOf(Math.max.apply( Math, array ));
    };

答案 3 :(得分:0)

您可以将数组读入循环。如果读取的数字高于前一个,则将其存储到变量中,并为其索引添加第二个变量。

最后,您将拥有数组及其索引的最大值。