我在下面有一个非常标准的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]正在访问数组的一部分,如果是这样,数组的构建方式和位置是什么?
答案 0 :(得分:6)
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);
答案 1 :(得分: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'并使用数字[i]访问所有值。 while循环将迭代i = 0到i = 5(数组的长度)。
if(numbers[i] > max){
max = numbers[i];
}
这个条件试图从数组中找到最大数量。并将其设置为变量max。
答案 2 :(得分:0)
var numbers = [3,345,28,90,102];
这是数组“构建”(声明)的地方。
你可以做到的另一种方式是声明new Array()
,然后逐个填充元素。
答案 3 :(得分: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);
输出最大值