JS 数组中有 undefined 值,用 for 循环和 for…in 循环遍历的不同之处

时间:2024-03-27 11:11:39

先说结论:在数组遍历时一般最好使用for循环遍历

var arr=new Array();
    arr[0]="P90";
    arr[3]="AWM";
    arr[5]="AK47";
console.log("//for 循环遍历");
for(let i=0;i<arr.length;i++){
	console.log(arr[i]);
}
console.log("//for in 循环遍历");
for(let i in arr){
	console.log(arr[i]);
}

代码可直接F12调出控制台工具在console中复制粘贴测试

结果:

JS 数组中有 undefined 值,用 for 循环和 for…in 循环遍历的不同之处

for 循环遍历:

从代码中便可看出来就是根据array数组的长度,打印对应次数的对应内容,而没有赋值的,则值默认为 undefined

for in 循环遍历:

遍历的是这个对象,需要了解JavaScript中对象的概念,可以看到for in循环会输出存在的内容,而没有未赋值的undefined。

但是对象中往往存在一些浏览器本身的一些js函数或者对象,所以除了数组中的元素,还打印出来了一个系统的函数

如果只是为了数组遍历元素,则用for循环

   如果是为了遍历一个对象里的所有内容,则用for in循环