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 索引)元素。例如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]; 

这是数组“构建”(声明)的地方。

您可以这样做的另一种方法是声明 anew Array()然后一个一个地填充元素。

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

这将使用 members 初始化一个数组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 回答