3

javascript问题在这里...

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

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

基本上,该数字必须与其已经使用的名称相匹配。如果有人有答案,我会很高兴:)

谢谢

4

4 回答 4

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()andArray.prototype.indexOf()来获取其中的最大数字array2,然后在该数组中找到该数字的索引。

于 2013-03-11T11:07:36.903 回答
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]);
于 2013-03-11T11:10:07.650 回答
0
   var array1 = dan, john, james, harry, mike;


  Array.max = function( array ){
        return array1.indexOf(Math.max.apply( Math, array ));
    };
于 2013-03-11T11:08:04.767 回答
0

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

最后,您将获得数组的最大值及其索引。

于 2013-03-11T11:10:45.923 回答