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()との使用法を示しておりArray.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

配列をループに読み込むことができます。読み取った数値が前の数値よりも大きい場合は、それを変数に格納し、そのインデックスに 2 番目の変数を使用します。

最後に、配列の最大値とそのインデックスが表示されます。

于 2013-03-11T11:10:45.923 に答える