JavaScript数组中的undefined项
最近在开发中遇到了数组遍历次数不对的问题,原因是未初始化,由此发现数组遍历次数不见的与数组长度一致。这里就总结下这个坑。
举个例子
1 | let array = [undefined, , 1, 2, 3]; |
输出结果如下
分析
赋值数组项为undefined或者未初始化,值都会是undefined
遍历时有赋值的都会遍历,但没有赋值则直接跳过
比如有时需要控制循环固定次数,可能会这么去写,注意这里的fill确保赋值数组项为undefined,假如省略这个,则遍历次数为0
1
2
3new Array(10).fill().forEach((_, idx) => {
console.log(idx + 1);
});