JS 数组遍历学习
引子
在做一个案例时,发现的小问题,成功解决!
案例需求如下,将一个数组中的元素一个一个提取出来,并添加分隔符。
代码实现
点击查看代码
var arr = ['red', 'blue', 'pink', 'cyan'];
var str = '';
var separater = prompt('自定义您的分隔符!');
for (i = 0; i <= arr.length; i++) {
str += arr[i] + separater;
}
alert(str);
运行结果
运行结果一出来,我就有点疑惑,为什么会多一个undefined。
思考过程如下:
首先,出现undefined的情况,是在一个变量只声明,没赋值才会这样。
但是这个是数组,会有相同之处吗?
我数了下数组中只有4个元素,却输出了5个结果,说明有一个元素被声明出来了。
接着,我仔细过了一遍for循环,发现问题所在。
原来,计数器i要小于数组长度,而非小于等于。因为序号从0开始,遍历0、1、2、3,为4个元素;
就结束了,如果还加等于,那么还会进行判断是否=4的一次循环,而实际上数组中并没有序号为4的元素,
这样一来,是遍历了0、1、2、3、4,为5个元素。
修改代码进行测试,果然对了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)