From 6e8236013c819c42bc3f969877a4dcd014729f67 Mon Sep 17 00:00:00 2001 From: acm46 Date: Fri, 8 Feb 2013 15:31:30 -0500 Subject: [PATCH 1/5] problem 1 sol --- assignments/q1-multiples.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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; + } From 0654e38ae4d1bfa5e986632c996132d0d1efb3d1 Mon Sep 17 00:00:00 2001 From: acm46 Date: Fri, 8 Feb 2013 17:30:45 -0500 Subject: [PATCH 2/5] problem 2 solved --- assignments/q2-map.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 From 6afccf1d110c5bf6582fdeda1c7f45d868ad1ab7 Mon Sep 17 00:00:00 2001 From: acm46 Date: Fri, 8 Feb 2013 17:34:00 -0500 Subject: [PATCH 3/5] problem 3 solved --- assignments/q3-filter.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; + } From 11ba268d81c064e61260bc02fad0ac726074b082 Mon Sep 17 00:00:00 2001 From: acm46 Date: Fri, 8 Feb 2013 17:47:52 -0500 Subject: [PATCH 4/5] problem 4 solved --- assignments/q4-reduce.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/assignments/q4-reduce.js b/assignments/q4-reduce.js index becc358..48b0624 100644 --- a/assignments/q4-reduce.js +++ b/assignments/q4-reduce.js @@ -1,4 +1,16 @@ function reduce (xs, fn, seed) { - // NOTE: that seed is optional; you should give the appropriate default in the function body - // ... + if (xs.length === 0 && typeof seed === 'undefined') + return undefined; + if (typeof seed === 'undefined'){ + seed = xs[0]; + var i = 1; + } else { + var i = 0; + } + var answer = seed; + for (i; i < xs.length; i++){ + answer = fn(answer, xs[i]); + } + return answer; + } From d2b53713e1393f0b2903e3c589bb76de5ec8763f Mon Sep 17 00:00:00 2001 From: acm46 Date: Fri, 8 Feb 2013 17:56:53 -0500 Subject: [PATCH 5/5] condensed problem 4 solution --- assignments/q4-reduce.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/assignments/q4-reduce.js b/assignments/q4-reduce.js index 48b0624..12addc5 100644 --- a/assignments/q4-reduce.js +++ b/assignments/q4-reduce.js @@ -1,16 +1,8 @@ function reduce (xs, fn, seed) { - if (xs.length === 0 && typeof seed === 'undefined') - return undefined; - if (typeof seed === 'undefined'){ - seed = xs[0]; - var i = 1; - } else { - var i = 0; - } + var i = seed ? 0 : 1; var answer = seed; for (i; i < xs.length; i++){ - answer = fn(answer, xs[i]); + answer = fn(answer ? answer : xs[0], xs[i]); } - return answer; - -} + return answer; +} \ No newline at end of file