1. 程式人生 > 實用技巧 >for...in、for...of和forEach

for...in、for...of和forEach

let arr = [1,2,3,4,5,6];
        arr.name="AAA";
        for(var i in arr){
            //遍歷的實際是物件的屬性名臣,每一個元素的索引被視為一個屬性
            //當我們手動給Array物件新增一個額外的屬性,for...in將會帶來意外效果
            console.log(i,typeof i);//1,2,3,name
        }
        for(var i of arr){
            //for ...of則支迴圈本身的元素
            //但是ES6,對於低版本的瀏覽器支援不是很好,如IE6,但現在估計絕了
console.log(i,typeof i);//123 } arr.forEach((element,index,array)=>{ //它接收一個函式,每次迭代就自動回撥該函式 //forEach本身無法跳出迴圈,必須遍歷完所有的資料才能結束 /** *element:指當前元素的值 * index:指向當前的索引 * array:指向array的本身 */ console.log(index,element) })

附加一張for迴圈的區別表格:

圖摘自:簡書-->痦子