1 map
返回一個新的數組,每個元素為調用func的結果, 不改變原數組
let list = [1, 2, 3, 4, 5];
let other = list.map((d, index) => { return d * 2; });
2 filter
返回一個新的數組,每個元素為調用func的結果, 不改變原數組
let list = [1, 2, 3, 4, 5];
let other = list.filter((d, i) => { return d % 2; });
3 foreach
沒有返回值,只針對每個元素調用func, 不改變原數組
缺點:無法使用break,return等終止循環。
let list = [1, 2, 3, 4, 5]; let other = []; list.forEach((d, i) => { other.push(d * 2); });
4 for in
for in也可以循環數組,但是不推薦這樣使用,for–in是用來循環帶有字符串key的對象的方法。
缺點:只能獲得對象的鍵名,不能直接獲取鍵值。
5 for of
對於普通的對象,for...in循環可以遍歷鍵名,for...of循環會報錯。
for of為ES6提供,具有iterator接口,就可以用for of循環遍歷它的成員。也就是說,for of循環內部調用的是數據結構的Symbol.iterator方法。
for of循環可以使用的范圍包括數組、Set和Map結構、某些類似數組的對象(比如arguments對象、DOM NodeList對象)、后文的Generator對象,以及字符串。
有些數據結構是在現有數據結構的基礎上,計算生成的。
可以遍歷 字符串 數組 對象