不廢話,直接上正題。數組
若是不作特殊處理,通常狀況下,不會break的。若是須要中途跳出循環,建議直接用for語句好了。ui
let arr = [1,2,3,4,5];
arr.forEach((item,index)=> {
console.log(item);
})
// 1,2,3,4,5
複製代碼
let arr = [1,2,3,4,5];
let newArray = arr.map((item,index)=> {
return item * 2
});
newArray // [2, 4, 6, 8, 10]
arr // [1,2,3,4,5]
複製代碼
這裏返回的是一個新的數組,並不會改變原來數組。spa
let arr = [1,2,3,4,5];
let result = arr.reduce((prev, cur, index, arr)=> {
return prev + cur;
});
複製代碼
callbackFunction 包含4個參數,先解釋下它們的意思:code
prev:第一項的值或者上一次疊加的結果值 cur: 當前會參與疊加的項 index: 當前索引 arr: 數組自己cdn
此時,初始值默認爲數組的 [0],若是想自定義初始值,那能夠給reduce添加第二個參數(initialValue),以下blog
let result = arr.reduce((prev, cur, index, arr)=> {
return prev + cur;
}, -5);
// 若是是累加,必定要注意 initialValue 的類型,若是設置成了字符串,根據 「二者相加,值類型與第一個加數相同」,那麼結果就是一個字符串。
複製代碼
let arr = [1,2,3,4,5];
let newArray = arr.filter((item,index)=> {
return item > 3;
});
newArray // [4,5]
複製代碼
能夠理解成 && '且'的關係索引
let arr = [1,2,3,4,5];
let result = arr.every((item,index)=> {
return item > 0;
});
result // true
複製代碼
能夠理解成 || '或'的關係字符串
let arr = [1,2,3,4,5];
let result = arr.some((item,index)=> {
return item > 2;
});
result // true
複製代碼