神奇的bug1

for…in 的神奇bug
使用for…in遍历数组的时候会出现一些神奇的bug,比如数据的重复,还有就是会遍历出来不想要的结果。
如果我们遍历的数组中存放的是业务对象,此时会发现,最后一次输出的是空,在被循环的数组中不存在这个名称为空的人员,此时出现的错误就导致某些业务无法正常使用或显示。

对于使用for-in可能导出的bug,有两种方式避免

1.在循环数组集合时,不使用for-in,统一使用for(var i=0;i<length;i++)这种形式;

2.在for-in循环中增加一个hasOwnProperty的判断;

神奇的bug1