Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var arr = [1, 2, 3, 4]
- var resulr = arr.reduce(function(v1, v2){
- return v1 + v2
- },10)
- console.log(result) //20
- //手写一个reduce方法
- var arr = [1, 2, 3, 4]
- function reduce(arr, fn, initValue) {
- // var arr2 = arr.concat([])
- // if(initValue !== 0) {
- // arr2.unshift(initValue)
- // }
- //下面一行代码等效于上面三行
- var arr2 = (initValue === undefined?[]:[initValue]).concat(arr)
- while(arr2.length > 1) {
- console.log(arr2)
- arr2.splice(0, 2, fn(arr2[0],arr2[1]))
- }
- return arr2[0]
- }
- var result = reduce(arr, function(v1, v2){
- return v1 + v2
- }, 10)
- console.log(result) //20
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement