當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS数组reduce()方法
生活随笔
收集整理的這篇文章主要介紹了
JS数组reduce()方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基本用法
arr.reduce(function(prev,cur,index,arr){ ... }, init);或者arr.reduce(function(prev,cur,index,arr){ ... },);arr 表示將要原數組;
prev 表示上一次調用回調時的返回值,或者初始值 init;
cur 表示當前正在處理的數組元素;
index 表示當前正在處理的數組元素的索引,若提供 init 值,則索引為0,否則索引為1;
init 表示初始值。
常用的參數只有兩個:prev 和 cur。
實例:
1.數組求和,求乘積
2.計算數組中每個元素出現的次數
let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];let nameNum = names.reduce((pre,cur)=>{if(cur in pre){pre[cur]++}else{pre[cur] = 1 }return pre },{}) console.log(nameNum); //{Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}3.數組去重
let arr = [1,2,3,4,4,1] let newArr = arr.reduce((pre,cur)=>{if(!pre.includes(cur)){return pre.concat(cur)}else{return pre} },[]) console.log(newArr);// [1, 2, 3, 4]4.將二維數組轉化為一維
let arr = [[0, 1], [2, 3], [4, 5]] let newArr = arr.reduce((pre,cur)=>{return pre.concat(cur) },[]) console.log(newArr); // [0, 1, 2, 3, 4, 5]5.將多維數組轉化為一維
let arr = [[0, 1], [2, 3], [4,[5,6,7]]] const newArr = function(arr){return arr.reduce((pre,cur)=>pre.concat(Array.isArray(cur)?newArr(cur):cur),[]) } console.log(newArr(arr)); //[0, 1, 2, 3, 4, 5, 6, 7]6.對象里的屬性求和
var result = [{subject: 'math',score: 10},{subject: 'chinese',score: 20},{subject: 'english',score: 30} ];var sum = result.reduce(function(prev, cur) {return cur.score + prev; }, 0); console.log(sum) //60總結
以上是生活随笔為你收集整理的JS数组reduce()方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决vue router使用 histo
- 下一篇: 小森生活雅居樱花树怎么获得