Guest User

Untitled

a guest
Feb 19th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. // step parameter is optional
  2. // if step is not passed in,
  3. // and start is less than or equal to end,
  4. // then step = 1, else step = -1
  5. function range(start, end, step = start <= end ? 1 : -1) {
  6. let result = [];
  7. // loop iterates up for positive step values
  8. // and iterates down for negative step values
  9. for (let i = start; step >= 0 ? i <= end : i >= end; i+=step) {
  10. result.push(i);
  11. }
  12. return result;
  13. }
  14.  
  15. function sum(numbers) {
  16. result = 0;
  17. for (let num of numbers) {
  18. result += num;
  19. }
  20. return result;
  21. }
  22.  
  23. console.log(range(1, 10));
  24. // → [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  25. console.log(range(1, 10, 2));
  26. // → [1, 3, 5, 7, 9]
  27. console.log(range(5, 2, -1));
  28. // → [5, 4, 3, 2]
  29. console.log(range(5, 2));
  30. // → [5, 4, 3, 2]
  31. console.log(range(10, 1, -3));
  32. // → [10, 7, 4, 1]
  33. console.log(sum(range(1, 10)));
  34. // → 55
  35. console.log(sum(range(1, 10, 2)));
  36. // → 25
  37. console.log(sum(range(10, 1, -3)));
  38. // → 22 (10 + 7 + 4 + 1)
Add Comment
Please, Sign In to add comment