Js數(shù)組之reduce()方法

1、語法

arr.reduce(callback,[initialValue])

reduce 為數(shù)組中的每一個(gè)元素依次執(zhí)行回調(diào)函數(shù),不包括數(shù)組中被刪除或從未被賦值的元素,接受四個(gè)參數(shù):初始值(或者上一次回調(diào)函數(shù)的返回值),當(dāng)前元素值,當(dāng)前索引,調(diào)用 reduce 的數(shù)組。

callback (執(zhí)行數(shù)組中每個(gè)值的函數(shù),包含四個(gè)參數(shù))

    1、previousValue (上一次調(diào)用回調(diào)返回的值,或者是提供的初始值(initialValue))
    2、currentValue (數(shù)組中當(dāng)前被處理的元素)
    3、index (當(dāng)前元素在數(shù)組中的索引)
    4、array (調(diào)用 reduce 的數(shù)組)

initialValue (作為第一次調(diào)用 callback 的第一個(gè)參數(shù)。)

2、實(shí)用小例

//數(shù)據(jù)之和
let array = [2,3,4];
  let result= s.reduce((pre,cur)=>{
      return pre+cur;
  },1)
  console.log(result);//2+3+4
// 數(shù)組去重
var arr = [1,2,3,3,4,4,2,1,5]
var newArr = arr.reduce(function (prev, cur,index,curarr) {
    console.log('curarr:',curarr)//[1,2,3,3,4,4,2,1,5]
    prev.indexOf(cur) === -1 && prev.push(cur);
    //這里表示prev第一次去設(shè)置的init值[],當(dāng)滿足當(dāng)前的新數(shù)組沒有cur(當(dāng)前元素)時(shí)才執(zhí)行push
        return prev;
   },[]);
 console.log(newArr);//[1,2,3,4,5]
// 計(jì)算數(shù)組最大值
var max = arr.reduce(function (prev, cur) {
    return Math.max(prev,cur);
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容