From 44f2076c532a7e60c18287a0d2ee137a2c26c973 Mon Sep 17 00:00:00 2001 From: Laura Colten Date: Tue, 13 Nov 2018 20:11:55 -0600 Subject: [PATCH 1/2] map function --- 06week/higherOrder.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/06week/higherOrder.js b/06week/higherOrder.js index 73926e3dc..480a79ee0 100644 --- a/06week/higherOrder.js +++ b/06week/higherOrder.js @@ -6,10 +6,25 @@ function forEach(arr, callback) { // Your code here } -function map(arr, callback) { - // Your code here +const myMap = (arr, callback) => { + const newArr = []; + for (let index = 0; index < arr.length; index++ ){ + console.log(arr[index]); + const formattedItem = callback(arr[index]); + newArr.push(formattedItem); + } + return newArr; } +const nameArr = ['Kevin', 'Laura', 'Eden', 'Eve', 'Arlo', 'Archie']; + +const nameArrUpperCase = () => myMap(nameArr, function(string) { + return string.toUpperCase(); +}); + +nameArrUpperCase(); + + function filter(arr, callback) { // Your code here } From ea6ac830ce2c11cd0e0b113c380c87360fcf9381 Mon Sep 17 00:00:00 2001 From: Laura Colten Date: Tue, 13 Nov 2018 21:46:20 -0600 Subject: [PATCH 2/2] finished functions --- 06week/higherOrder.js | 52 +++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/06week/higherOrder.js b/06week/higherOrder.js index 480a79ee0..4eba50ca2 100644 --- a/06week/higherOrder.js +++ b/06week/higherOrder.js @@ -2,39 +2,47 @@ const assert = require('assert'); -function forEach(arr, callback) { - // Your code here +const forEach = (arr, callback) => { + for (let index = 0; index < arr.length; index++) { + callback(arr[index]); + } } -const myMap = (arr, callback) => { + +const map = (arr, callback) => { const newArr = []; - for (let index = 0; index < arr.length; index++ ){ - console.log(arr[index]); - const formattedItem = callback(arr[index]); - newArr.push(formattedItem); + for (let index = 0; index < arr.length; index++) { + newArr.push(callback(arr[index])); } return newArr; } -const nameArr = ['Kevin', 'Laura', 'Eden', 'Eve', 'Arlo', 'Archie']; - -const nameArrUpperCase = () => myMap(nameArr, function(string) { - return string.toUpperCase(); -}); - -nameArrUpperCase(); - - -function filter(arr, callback) { - // Your code here +const filter = (arr, callback) => { + const newArr = []; + for (let index = 0; index < arr.length; index++) { + if (callback(arr[index])) { + newArr.push(arr[index]); + } + } + return newArr; } -function some(arr, callback) { - // Your code here +const some = (arr, callback) => { + for (let index = 0; index < arr.length; index++) { + if (callback(arr[index])) { + return true; + } + } + return false; } -function every(arr, callback) { - // Your code here +const every = (arr, callback) => { + for (let index = 0; index < arr.length; index++) { + if (!callback(arr[index])) { + return false; + } + } + return true; } if (typeof describe === 'function') {