0

以下に非常に標準的な Javascript ループがありますが、その一部を理解するのに苦労しており、コードのこれらの部分が何をし、どのように機能するかについての説明が欲しいです。

var numbers = [3,345,28,90,102];
var max = 0;
for(var i=0;i<numbers.length;i++){
    if(numbers[i] > max){
        max = numbers[i];
    }
}
alert(max);

私の主な問題は、次のことを理解することです。

numbers[i]

これは何を意味し、どのようにこのように存在するのでしょうか?

[x] が配列の一部にアクセスしていると思った場合、配列はどのように、どこに構築されますか?

4

4 に答える 4

6
var numbers = [3,345,28,90,102];

の省略形です

var numbers = new Array(3,345,28,90,102);

numbersそれが配列になった経緯の話です

numbers[x]x配列内の th (0-indexed) 要素にアクセスします。たとえばnumbers[0]、最初のアイテムである を返します3


おまけとして、スニペット全体を次のものに置き換えることができます。

var numbers = [3,345,28,90,102];
var max = Math.max.apply(Math, numbers);
于 2012-08-13T09:54:38.583 に答える
1
var numbers = [3,345,28,90,102];

このコードは、値が3,345、28などの整数配列を作成しています。

使用できる配列要素にアクセスするには:(配列は0インデックスから始まります)

numbers[0] is 3
numbers[1] is 345
numbers[2] is 28

このコードでは、var iを使用して、配列全体を「numbers.length」まで反復処理し、numbers[i]を使用してすべての値にアクセスします。whileループは、i=0からi=5(配列の長さ)まで繰り返されます。

if(numbers[i] > max){
    max = numbers[i];
}

この条件は、配列から最大数を見つけようとしています。変数maxに設定します。

于 2012-08-13T09:59:37.847 に答える
0
var numbers = [3,345,28,90,102]; 

これは、配列が「構築」(宣言)される場所です。

もう1つの方法は、aを宣言してからnew Array()、要素を1つずつ入力することでした。

于 2012-08-13T09:55:17.133 に答える
0
var numbers = [3,345,28,90,102];

これにより、配列がメンバー3,345,28,90,102で初期化されるため、合計5つのアイテムになります。

var max = 0;

最大値をゼロに初期化します。すべての数値が負ではないと仮定します。

for(var i=0;i<numbers.length;i++){

配列のすべての項目を実行しますnumbers

    if(numbers[i] > max){

現在の最大数よりも大きい数を取得した場合...

        max = numbers[i];

...最大値をその数に調整します。

    }
}

alert(max);

マキシウムを出力

于 2012-08-13T09:56:04.753 に答える