在这种情况下,“foo[x]”是什么意思?

What does `foo[x]` mean in this context?

本文关键字:是什么 意思 这种情况下 foo      更新时间:2023-09-26

我下面有一个非常标准的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] 正在访问数组的一部分,如果是这样,数组是如何以及在哪里构建的?

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

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

这就是numbers如何成为一个阵列的故事。

numbers[x] 访问数组中的第 x 个(0 索引)元素。例如,numbers[0]返回第一项,即 3


作为奖励,整个代码段可以替换为:

var numbers = [3,345,28,90,102];
var max = Math.max.apply(Math, numbers);
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] 访问所有值。 而循环将遍历 i=0 到 i = 5(数组长度)。

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

此条件是尝试从数组中查找最大数字。并将其设置为变量 max。

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);

输出最大值

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

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

另一种方法是声明一个new Array(),然后逐个填充元素。