这里的javascript问题......
我需要在数组中找到最高的数字然后返回数组中此数字的位置。它无法排序,因为它需要与另一个数组中的单词匹配。下面是阵列:
var array1 = dan, john, james, harry, mike;
var array2 = 66, 33, 85, 34, 45;
基本上,这个数字必须与它已经拥有的名称相匹配。如果有人有答案,我会非常高兴:)
由于
答案 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)
您可以将数组读入循环。如果读取的数字高于前一个,则将其存储到变量中,并为其索引添加第二个变量。
最后,您将拥有数组及其索引的最大值。