reduce()是接受乙個函式作為累加器,陣列中每乙個值從左到右計算成乙個值
arr.reduce(callback,[initialvaluce])
1.previousvalue //上一次呼叫返回的值或者是提供的初始值(initialvalue)
2.currentvalue //
陣列當前被處理的元素
3.index//
當前元素的索引值
4.array//
呼叫的陣列
例子1.
var arr= [1,2,3,4];var sum=arr.reduce((prev,cur,index,arr)=>)
console.log(arr,sum)
列印結果
1213326
43[1, 2, 3, 4] 10
總結:index是從1開始,陣列長度是4,迴圈3次,第一次prev的值是陣列的第乙個值
例子2.
var arr= [1,2,3,4];var sum=arr.reduce((prev,cur,index,arr)=>,0)
console.log(arr,sum)
列印結果
0101213
3264
3[1, 2, 3, 4] 10
總結:initialvalue傳值的話,索引是從0開始,迴圈4次
如果陣列是空的話,initialvalue沒有傳值的話會報錯,但是如果傳值的話就不會報錯,所以一搬傳值比較保險
var arr =var sum=arr1.reduce((prev,cur,index,arr)=>)
//報錯 reduce of empty array with no initial value
var sum=arr1.reduce((prev,cur,index,arr)=>,0)
console.log(arr1,sum)
// 0 不會報錯
var arr = [1,2,3,4,5]var sum=arr.reduce((x,y)=>x+y)
var mul=arr.reduce((x,y)=>x*y)
console.log(sum)
//15
console.log(mul) //
120var mul1=arr.reduce((x,y)=>,1)
console.log(mul1)
//120
let arr =['張三','
張三','
李四','
李四','王二'
]let arrnum=arr.reduce((prev,cur)=>
else
return
prev
},{})
console.log(arrnum)
結果
{} "張三""張三" "
李四""李四" "
王二"
let obj =if('
name'in
obj)
else
//結果 obj物件中包含name屬性
ifin 判斷物件是否包含某個屬性
去重let arr = [1,2,3,4,4,1,3]
let newarr = arr.reduce((pre,cur)=>else
},)console.log(newarr);// [1, 2, 3, 4]
let arr = [1,2,3,4,4,1,3,5,5]
let newarr = arr.reduce((pre,cur)=>,)
console.log(newarr)// [1, 2, 3, 4, 5]
let arr = [1,2,3,4,4,1,3,5,5]let newarr = arr.reduce((pre,cur)=>pre.includes(cur)?pre:[...pre,cur],)
console.log(newarr) //[1, 2, 3, 4, 5]
let arr = [[6,7],[4,5],[1,2,3]]let newarr = arr.reduce((pre,cur)=>pre.concat(cur),)
console.log(newarr) //[6, 7, 4, 5, 1, 2, 3]
let arr = [[1,2,3],[4,5,6],[[7,8,9],10],[[11],[12],[13]]]const newarr =function(arr)
console.log(newarr(arr))
//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
let arr =[,,,,
]let newarr = arr.reduce((pre,cur)=>pre+cur.num,0
)console.log(newarr)
//330
陣列reduce 方法
reduce 函式接收的引數和map 類似,乙個函式f,乙個list,但行為和map 不同,reduce 傳入的函式f必須接收兩個引數,reduce 對list的每個元素反覆呼叫函式f,並返回最終結果值。例子def f x,y return x y reduce f,1,3,5,7,9 返回結果為2...
陣列的reduce方法
arr.reduce callback accumulator,currentvalue,index,array initialvalue 如果沒有initialvalue,預設陣列的第一項為initialvalue,第一次的currentvalue為陣列的第二項 沒有提供initialvalue ...
陣列(Array)的常用方法(reduce)
reduce 陣列通過此方法,可以實現將每一項疊加稱為一項。使用 sum arr.reduce fun,start 其中,fun為乙個方法,接收四個引數,分別為 cur 當前項的值 index 當前項的index arr 原陣列 其中,start為疊加計算定義型別,並且為初始值,此值可以根據實際情況...