JS 常用迴圈總結
阿新 • • 發佈:2021-10-29
1、for 迴圈
最基本的迴圈,這裡就不多作介紹了
for(var i = 0;i < 7;i++){ console.log(i); }
2、for in 迴圈
一般用於迴圈物件,如下:
obj = { name: 'waq', age: 22, luck: 'come' } for (let i in obj){ console.log(i,obj[i]); }
當然也可以用來迴圈陣列,但不推薦,主要是因為迴圈陣列後得到的陣列索引是 string 而不是 number,如果要在迴圈裡面對索引進行計算就會出錯,如下:
var arr = [88,66]; for (let i in arr){ console.log(i,typeof i); console.log(i+=i); }
3、for of 迴圈
ES6新增的迴圈方法,避免了for in的所有缺點,但是不能遍歷物件。for of還有一個致命傷,沒有索引。
var arr = [88,66,'waq']; for (let i of arr){ console.log(i); }
還可以遍歷字串:
var str = 'goodLuck';for (let i of str){ console.log(i);//g o o d L u c k }
4、forEach 迴圈
forEach 迴圈裡面沒辦法使用 break 語句或使用 return 語句。而且在IE中無法實現,需要做相容處理。傳入的是一個函式。
var arr = [88,66,'waq']; arr.forEach(function (value,index){ console.log(value,index); })
5、map()迴圈
不改變原陣列但是會返回新陣列,傳入的是一個函式。
vararr = [12,13,14]; var newArr = arr.map(i=>{ return i+=10; }) console.log(arr); console.log(newArr);