Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. var arr = [1, 2, 3, 4]
  2. var resulr = arr.reduce(function(v1, v2){
  3. return v1 + v2
  4. },10)
  5. console.log(result) //20
  6.  
  7. //手写一个reduce方法
  8. var arr = [1, 2, 3, 4]
  9.  
  10. function reduce(arr, fn, initValue) {
  11. // var arr2 = arr.concat([])
  12. // if(initValue !== 0) {
  13. // arr2.unshift(initValue)
  14. // }
  15. //下面一行代码等效于上面三行
  16. var arr2 = (initValue === undefined?[]:[initValue]).concat(arr)
  17. while(arr2.length > 1) {
  18. console.log(arr2)
  19. arr2.splice(0, 2, fn(arr2[0],arr2[1]))
  20. }
  21. return arr2[0]
  22. }
  23.  
  24. var result = reduce(arr, function(v1, v2){
  25. return v1 + v2
  26. }, 10)
  27.  
  28. console.log(result) //20
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement