js数组遍历 千万不要使用for...in...
Posted 改变
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组遍历 千万不要使用for...in...相关的知识,希望对你有一定的参考价值。
昨天做个下拉框 扩充了一下数组的方法
Array.prototype.remove = function (val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
结果今天就遇到问题了
for (i in initMarker) {
initMarker[i].setMap(null);
}
用for in 循环数组
总是在最后多出一个romove方法
原因以及解决方法
第一种解决办法:
hasOwnPrototype 选取自己的属性,而不是从原型上继承来的
for (i in initMarker) {
if(initMarker.hasOwnPrototype(i)){
initMarker[i].setMap(null); }
}
第二种解决办法:
for() 循环
for(var i=0;i<initMarker.length;i++){
initMarker[i].setMap(null);
}
以上是关于js数组遍历 千万不要使用for...in...的主要内容,如果未能解决你的问题,请参考以下文章
前端js的数组的循环遍历 for / for of / for in / arr.forEach()
JavaScript中遍历数组 最好不要使用 for in 遍历