diff --git a/assignments/q1-multiples.js b/assignments/q1-multiples.js index ebe5e18..f6b74c5 100644 --- a/assignments/q1-multiples.js +++ b/assignments/q1-multiples.js @@ -1,3 +1,11 @@ function multiples (limit) { - // ... + + var sum = 0; + for (var i = 1; i < limit; i++){ + if ((i % 3 === 0) || (i % 5 === 0)){ + sum += i; + } + } + return sum; + } diff --git a/assignments/q2-map.js b/assignments/q2-map.js index a01bc71..69c4065 100644 --- a/assignments/q2-map.js +++ b/assignments/q2-map.js @@ -1,3 +1,7 @@ function map (xs, fn) { - // ... +var mapped = []; +for (var i = 0; i < xs.length; i++){ + mapped.push(fn(xs[i])); } +return mapped; +} \ No newline at end of file diff --git a/assignments/q3-filter.js b/assignments/q3-filter.js index 757f6f1..4a9de4c 100644 --- a/assignments/q3-filter.js +++ b/assignments/q3-filter.js @@ -1,3 +1,10 @@ function filter (xs, condition) { - // ... + var filtered = []; + + for (var i = 0; i < xs.length; i++){ + if (condition(xs[i])) filtered.push(xs[i]); + } + + return filtered; + } diff --git a/assignments/q4-reduce.js b/assignments/q4-reduce.js index becc358..12addc5 100644 --- a/assignments/q4-reduce.js +++ b/assignments/q4-reduce.js @@ -1,4 +1,8 @@ function reduce (xs, fn, seed) { - // NOTE: that seed is optional; you should give the appropriate default in the function body - // ... -} + var i = seed ? 0 : 1; + var answer = seed; + for (i; i < xs.length; i++){ + answer = fn(answer ? answer : xs[0], xs[i]); + } + return answer; +} \ No newline at end of file