JS中 reduce() 數組去重及求數組項最大值


一、語法

arr.reduce(function(prev,cur,index,arr){...}, init);

其中,

arr表示原數組;prev表示上一次調用回調時的返回值,或者初始值 init;cur表示當前正在處理的數組元素;index表示當前正在處理的數組元素的索引,若提供 init 值,則索引為0,否則索引為1;init表示初始值。

1.求數組項最大值

  let arr = [1, 2, 3,3,2,4]
  let max = arr.reduce(function (prev, cur) { return Math.max(prev,cur); });
  console.log(max)//4

由於未傳入初始值,所以開始時prev的值為數組第一項1,cur的值為數組第二項2,取兩值最大值后繼續進入下一輪回調。

2.數組去重

let arr = [1, 2, 3,3,2,4]
let  newArr = arr.reduce(function (prev, cur) { prev.indexOf(cur) === -1 && prev.push(cur); return prev; },[]);
  console.log(newArr)//[1, 2, 3, 4]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM