From 9ca2ed4c5b6cb31f04169654c7b8035d48fbaf28 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 16 Nov 2018 23:01:39 -0600 Subject: [PATCH] higher order --- 06week/higherOrder.js | 46 +++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/06week/higherOrder.js b/06week/higherOrder.js index 73926e3dc..d4b6b0bb8 100644 --- a/06week/higherOrder.js +++ b/06week/higherOrder.js @@ -2,24 +2,50 @@ const assert = require('assert'); -function forEach(arr, callback) { - // Your code here +function forEach(arr, hoge) { + for (let i = 0; i < arr.length; i++) { + hoge(arr[i]*arr.length) + }; } -function map(arr, callback) { - // Your code here +function map(arr, hoge) { + const newArr = []; + for (let i = 0; i < arr.length; i++) { + newArr.push(hoge(arr[i])); + }; + return newArr; } -function filter(arr, callback) { - // Your code here +function filter(arr, hoge) { + const newArr = []; + for (let i = 0; i < arr.length; i++) { + if (hoge(arr[i]) == true) { + newArr.push(arr[i]); + }; + }; + return newArr; } -function some(arr, callback) { - // Your code here +function some(arr, hoge) { + for (let i = 0; i < arr.length; i++) { + if (hoge(arr[i]) == true) { + return true; + } + } + return false; } -function every(arr, callback) { - // Your code here +function every(arr, hoge) { + let doot = false; + for (let i = 0; i < arr.length; i++) { + if (hoge(arr[i]) == true) { + doot = true; + } else { + doot = false; + break; + } + } + return doot; } if (typeof describe === 'function') {