本篇內(nèi)容介紹了“JavaScript中的reduce()怎么使用”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為陵城企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè),陵城網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
1、定義和用法
reduce()方法接收一個(gè)函數(shù)作為累加器,數(shù)組中的每個(gè)值從左到右開始縮減,最終計(jì)算為一個(gè)值。
注意:reduce()對(duì)于空數(shù)組是不會(huì)執(zhí)行回調(diào)函數(shù)的。
2、語法
arr.reduce(function(prev, cur, curIndex, arr){
...
}, init)
3、參數(shù)
prev:必需,初始值init,或者每次計(jì)算結(jié)束后的返回值;
cur:必需,當(dāng)前元素;
curIndex:cur的索引;
arr:當(dāng)前元素所屬的數(shù)組arr;
init:傳遞給函數(shù)的初始值初始值。
4、實(shí)例
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);
// 打印結(jié)果如下:
0 5
5 4
9 8
17 6
23 8
31 2
33 6
39 22
61 8
69 6
75
求數(shù)組項(xiàng)最大值
max = arr.reduce(function(prev, cur) {
console.log(prev, cur)
return Math.max(prev, cur)
}, 0);
// 打印結(jié)果如下:
0 5
5 4
5 8
8 6
8 8
8 2
8 6
8 22
22 8
22 6
22
數(shù)組去重
newArr = arr.reduce((prev, cur) => {
console.log(prev, cur);
prev.indexOf(cur) === -1 && prev.push(cur);
return prev;
}, [])
// 打印結(jié)果如下:
[] 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]
計(jì)算字符串字母出現(xiàn)的次數(shù)
strNum = str.split('').reduce((strObj, cur) => {
console.log(strObj, cur)
strObj[cur] ? strObj[cur]++ : strObj[cur] = 1;
return strObj;
}, {});
// 打印結(jié)果如下
{} '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}
二維數(shù)組轉(zhuǎn)換為一維數(shù)組
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()怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!