您好,登錄后才能下訂單哦!
本篇內容介紹了“JavaScript中的reduce()怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1、定義和用法
reduce()方法接收一個函數作為累加器,數組中的每個值從左到右開始縮減,最終計算為一個值。
注意:reduce()對于空數組是不會執行回調函數的。
2、語法
arr.reduce(function(prev, cur, curIndex, arr){
...
}, init)
3、參數
prev:必需,初始值init,或者每次計算結束后的返回值;
cur:必需,當前元素;
curIndex:cur的索引;
arr:當前元素所屬的數組arr;
init:傳遞給函數的初始值初始值。
4、實例
var arr = [5,4,8,6,8,2,6,22,8,6]
1
求和
sum = arr.reduce(function(prev,cur) {
console.log(prev, cur)
return prev + cur;
}, 0);
// 打印結果如下:
0 5
5 4
9 8
17 6
23 8
31 2
33 6
39 22
61 8
69 6
75
求數組項最大值
max = arr.reduce(function(prev, cur) {
console.log(prev, cur)
return Math.max(prev, cur)
}, 0);
// 打印結果如下:
0 5
5 4
5 8
8 6
8 8
8 2
8 6
8 22
22 8
22 6
22
數組去重
newArr = arr.reduce((prev, cur) => {
console.log(prev, cur);
prev.indexOf(cur) === -1 && prev.push(cur);
return prev;
}, [])
// 打印結果如下:
[] 5
[5] 4
[5, 4] 8
[5, 4, 8] 6
[5, 4, 8, 6] 8
[5, 4, 8, 6] 2
[5, 4, 8, 6, 2] 6
[5, 4, 8, 6, 2] 22
[5, 4, 8, 6, 2, 22] 8
[5, 4, 8, 6, 2, 22] 6
[5, 4, 8, 6, 2, 22]
計算字符串字母出現的次數
strNum = str.split('').reduce((strObj, cur) => {
console.log(strObj, cur)
strObj[cur] ? strObj[cur]++ : strObj[cur] = 1;
return strObj;
}, {});
// 打印結果如下
{} 'h'
{h: 1} 'e'
{h: 1, e: 1} 'l'
{h: 1, e: 1, l: 1} 'l'
{h: 1, e: 1, l: 2} 'o'
{h: 1, e: 1, l: 2, o: 1}
二維數組轉換為一維數組
var arr1 = [[1,2],[1,4,3],[7,8,9]]
arr2 = arr1.reduce((x,y) => x.concat(y), []);
// [1, 2, 1, 4, 3, 7, 8, 9]
“JavaScript中的reduce()怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。