三者都可以用來循環,只是適用的場景不同。
簡單的介紹一下三者的特點
forEach 不會遍歷數組中的屬性,不能使用break,不能使用return跳出 --適合數組,跟while 差不多
for in 數組中添加屬性,可以使用for in 給顯示出來,在ts中不建議使用這種方式,可以使用continue 跳過該循環,它還是繼續往下走, --以前遍歷數組常用它,是遍歷常用的方法
js中解決的辦法可以使用hasOwnProperty判斷 是否有該屬性,然后過濾掉,if(!arr.hasOwnProperty('a')) continue;
for of 循環 用在任何的對象上,可以用break中斷,continue中斷、return中斷,不會顯示數組中添加的屬性,在ts中使用這種方式遍歷對象比較好。
//栗子 var arr = [1,2,3]; arr.a = '--' for(var n in arr){ console.log(n) } //返回 1,2,3,a //這個時候想要獲取a里面的值,修改打印 console.log(arr[n]) //返回 1,2,3,--
