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)
}