JavaScript函数中[i]的作用是什么,该部分属于什么语法结构?
问题解答
[i]所属语法结构
campgrounds[i]里的[i]属于JavaScript的数组下标访问运算符,是JS内置的用来获取数组指定位置元素的语法。
[i]的具体作用
这段代码的入参campgrounds是一个数组,每一位存的是对应露营位的预订信息对象。[i]的作用就是精准定位到数组里索引为i的那个预订信息对象。
实际运行逻辑拆解
我们结合完整的for循环逻辑走一遍就清楚了:
- for循环第一步把计数变量
i初始化为0,对应数组的第一个元素(JS数组默认从0开始编号,不是1) - 每次循环先校验
i < campgrounds.length:只要i的值小于数组总长度,说明还有没统计的预订信息,就进入循环体- i=0时:
campgrounds[0]拿到第一个预订对象,把它的partySize(团体人数)加到总计数器counter里 - 执行完累加后
i++运行,i变成1,campgrounds[1]拿到第二个预订对象,继续累加人数 - 循环往复,直到i的值等于数组总长度,说明所有预订信息都统计完了,退出循环
- i=0时:
- 最终返回的
counter就是整个营地的已预订总人数
举个实际的参数示例你更容易理解:
如果传入的campgrounds是下面这个数组:
[ { partySize: 3 }, { partySize: 2 }, { partySize: 4 } ]
三次循环分别取索引0、1、2对应的团体人数累加,最终得到3+2+4=9,就是函数的返回值。
新手常见踩坑提醒:不要把循环判断条件写成
i <= campgrounds.length,数组最大的索引是长度-1,写等号会出现下标越界,拿到undefined导致计算结果出错。
内容的提问来源于stack exchange,提问作者Chaz Cosby
相关产品推荐
相关产品推荐

