vue ios9下for in Object遍历问题

data() { 
       return {list: [2]}
}
for (let i in this.list) {
   console.log("let in this.list = " +i)
}
//  这里的log将会打印两次。




let list=[2]
for (let i in list) {
     console.log("let in local list = " +i)
 }
 //  这里的log将会打印一次。
        Array.prototype.test =function () {return "I am test";};
        var a = [1,2];
        for (let i in a) {
                console.log(i); //    这里你会发现竟然打印了除了打印0、1外,还打印出了test 。所以这就是问题。
        }


首先for…in这种遍历方法对于遍历数组、对象来说是不建议使用的。
它会罗列出自身及原型链上所有可枚举的属性,这种情况下极易产生未知错误

。因此解决方案可以采用普通的for循环即可解决:

 for (let i = 0; i < this.list.length; i++) {
        console.log(i)
}

猜你喜欢

转载自blog.csdn.net/qq_38402659/article/details/87894677