nikolayneykov

Untitled

Dec 11th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // const map = (arr, mapFunc) => {
  2. //   const newArr = [];
  3.  
  4. //   for (let i = 0; i < arr.length; i++) {
  5. //     newArr.push(mapFunc(arr[i]));
  6. //   }
  7.  
  8. //   return newArr;
  9. // }
  10.  
  11. // const arr = [1, 2, 3, 4, 5];
  12. // const multiplied = map(arr, (x) => x * 2);
  13.  
  14. // console.log(multiplied); // [ 2, 4, 6, 8, 10 ]
  15.  
  16. // const filter = (arr, filterFunc) => {
  17. //   const newArr = [];
  18.  
  19. //   for (let i = 0; i < arr.length; i++) {
  20. //     if (filterFunc(arr[i])) {
  21. //       newArr.push(arr[i]);
  22. //     }
  23. //   }
  24.  
  25. //   return newArr;
  26. // }
  27.  
  28. // const arr = [1, 2, 3, 4, 5];
  29. // const filtered = filter(arr, (x) => x % 2 === 0);
  30.  
  31. // console.log(filtered); // [ 2, 4 ]
  32.  
  33. const reduce = (arr, reduceFunc, initialValue) => {
  34.   let accumulator = initialValue;
  35.  
  36.   for (let i = 0; i < arr.length; i++) {
  37.     accumulator = reduceFunc(accumulator, arr[i]);
  38.   }
  39.  
  40.   return accumulator;
  41. }
  42.  
  43. const arr = [1, 2, 3, 4, 5];
  44. const sum = reduce(arr, (acc, el) => acc + el, 0);
  45. const concatenated = reduce(arr, (acc, el) => acc + el, '');
  46.  
  47. console.log(sum); // 15
  48. console.log(concatenated); // '12345'
Advertisement
Add Comment
Please, Sign In to add comment