昨天做个下拉框 扩充了一下数组的方法
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);
}