javascript問題在這裏...Javascript最大值的數組,並找到它在哪裏?
我需要找到一個數組中的最高數字,然後返回這個數字在數組中的位置。它不能被排序,因爲它需要與另一個數組中的單詞相匹配。繼承人陣列:
var array1 = dan, john, james, harry, mike;
var array2 = 66, 33, 85, 34, 45;
基本上這個數字必須與它的名字相匹配。如果任何人有答案,我會最開心:)
感謝
javascript問題在這裏...Javascript最大值的數組,並找到它在哪裏?
我需要找到一個數組中的最高數字,然後返回這個數字在數組中的位置。它不能被排序,因爲它需要與另一個數組中的單詞相匹配。繼承人陣列:
var array1 = dan, john, james, harry, mike;
var array2 = 66, 33, 85, 34, 45;
基本上這個數字必須與它的名字相匹配。如果任何人有答案,我會最開心:)
感謝
這裏是搜索腳本:
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]);
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
最高的數字,然後發現數的指數該數組。
太棒了,正是我需要的。謝謝! – 2013-03-11 11:37:05
var array1 = dan, john, james, harry, mike;
Array.max = function(array){
return array1.indexOf(Math.max.apply(Math, array));
};
你可以閱讀你的陣列成一個圈。如果讀取的數字高於前一個數字,請將其存儲到一個變量中,並使用其索引的第二個變量。
最後你會得到你的數組及其索引的最大值。
這些數字是唯一的嗎? – VisioN 2013-03-11 11:06:03
...如果不是僅僅實現你自己的「for」循環,你需要搜索最大值(也可以存儲它的索引)。 – 2013-03-11 11:06:36
看看這裏,我認爲這會解決你的問題=) http://stackoverflow.com/questions/5850956/get-the-array-key-with-the-highest-value-in-javascript – Crowlix 2013-03-11 11:08:47