使用for in遍历数组

使用for in遍历对象和数组

使用for in遍历数组的时候,要注意会把原型属性也同样遍历出来,导致错误,如下

var arr = ['k', 'j', 'c'];
Array.prototype.name = 'kong';
for(var i in arr){
	console.log(i + '--' + arr[i]);
}
//输出0--k 1--j 2--c name--kong
所以还是推荐使用传统的for(var i = 0; i < arr.length; i++){}这种方式遍历数组,不会出错

当然,也可以使用hasOwnProperty过滤原型属性,即

var arr = ['k', 'j', 'c'];
Array.prototype.name = 'kong';
for(var i in arr){
	if(!arr.hasOwnProperty(i)){
		continue;
	}
	console.log(i + '--' + arr[i]);
}
//输出0--k 1--j 2--c

你可能感兴趣的:(JavaScript)