js數組操作API(reduce的用法)

1.reduce()的語法:

//語法:
Array.reduce(callback,initValue);

2.reduce()參數解釋:

callback : callback是reduce函數的回調函數,可以對數組中的數據項進行累加,其中reduce()函數接收四個參數,分別是:preValue,curValue,index,arr

  • preValue : 上次回調函數的返回值,或者提供的初始值(initValue);
  • curValue : 數組中正在被處理的數據項;
  • index : 正在被處理的數據項的下標;
  • arr : 調用reduce()函數的數組;

initValue : 作為第一次調用callback函數的第一個參數;

  1. reduce()方法對數組中的每一個數據項執行callback函數,但是不包括數組中已經被刪除或者從未被賦值的元素,回調函數在第一次執行的時候,如果initValue在調用reduce的時候被提供,那么回調函數的第一個參數preValue等于initValue,并且curValue等于數組中的第一個元素,如果initValue在調用reduce的時候沒有提供,那么回調函數中的第一個參數preValue等于數組中的第一個元素,并且curValue等于數組中的第二個元素。
var arr  = [10,11,12,13,14];
arr.reduce((preVaule,curValue,index,arr)=>{
    debugger;
    return preVaule + curValue;
},0)
//把obj對象中的每一個屬性追加"ABC";
var obj = {name:'tom',age:'15',tel:'123489',salary:'10000'};
Object.keys(obj).reduce((pre,cur,index) => {
    var prefix = 'ABC';
    pre[[prefix,cur].join("_")] = obj[cur];
    return pre;
},{})
//{ABC_name: "tom", ABC_age: "15", ABC_tel: "123489", ABC_salary: "10000"}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。