diff --git a/myEach.js b/myEach.js index e95bc02..8f87882 100644 --- a/myEach.js +++ b/myEach.js @@ -1,9 +1,10 @@ // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/ForEach function myEach(arr, callback) { - -// CODE INSIDE HERE // - + console.log('myEach'); + for (var i=0; i < arr.length; i++) { + callback(arr[i], i, arr); + } } /* diff --git a/myMap.js b/myMap.js index ccb09c3..63c50f1 100644 --- a/myMap.js +++ b/myMap.js @@ -1,11 +1,15 @@ // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Map function myMap(arr, callback) { - -// CODE INSIDE HERE // - + var newArray = [] + for (var i = 0; i < arr.length; i++) { + callback(arr[i], i, arr); + newArray.push(callback(arr[i], i, arr)); + } + return newArray } + /* Best if you don't code out here. If you want to check your code, use `index.js`! diff --git a/myReduce.js b/myReduce.js index 174fbe3..53d29e0 100644 --- a/myReduce.js +++ b/myReduce.js @@ -3,15 +3,53 @@ function myReduce(arr, callback) { -// CODE INSIDE HERE // +function reduceIt = function(arr, arr[i], i, init) { + var result = arr[0] + if !init { + for (i = 1; i < arr.length; i ++) { + result = callback(result, arr[i], i, arr); + } + } + else { + result = init + for (i = 0; i < arr.length; i++) { + var result = callback(result, arr[i], i, arr); + } + return result + } +} +function myFilter(arr, callback) { + var newArray = [] + for (i=0; i