Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 30 additions & 10 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
var myEach = require('./myEach');
var myMap = require('./myEach');
var myReduce = require('./myEach');
var myMap = require('./myMap');
var myReduce = require('./myReduce');
/* *********************************************************************
You can edit this file
It will make use of your code in myEach.js, myMap.js and myReduce.js
To run it on the console do: `node index.js`
***********************************************************************/

var numArray = [0,1,10,100,1000];
//var numArray = [0,1,10,100,1000];


/* myEach */
Expand All @@ -17,17 +17,37 @@ var numArray = [0,1,10,100,1000];
// console.log('inside myEach', element, index, arr);
// });

// function myEach(arr,callback){
// for(var i=0;i<arr.length;i++){
// callback(arr[i],i,arr);
// }
// }
//
// myEach(numArray,function (value){
// console.log(value);
// });



/* myMap */
////////////////////////////////////////////////////////////////////////////////////////////////////
//arr.map(callback);

// var input = ["a","b","c"];
// var output = myMap(input, function capitalize(v){
// return v.toUpperCase();
// });
// console.log('Testing myMap')
//
// function myMap(arr,callback){
// var result=[];
// for(var i=0;i<arr.length;i++){
// result.push(callback(arr[i],i,arr));
// }
// return result;
// }


var input = ["a","b","c"];
var output = myMap(input, function capitalize(v){
return v.toUpperCase();
});
console.log( output);
// console.log(output === ["A", "B", "C"]) // assertion


console.log("the end");
//console.log("the end");
8 changes: 5 additions & 3 deletions myEach.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/ForEach
function myEach(arr,callback){
for(var i=0;i<arr.length;i++){
callback(arr[i],i,arr);
}
}

function myEach(arr, callback) {

// CODE INSIDE HERE //

}

/*
Best if you don't code out here.
Expand Down
9 changes: 6 additions & 3 deletions myMap.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Map

function myMap(arr, callback) {

// CODE INSIDE HERE //

function myMap(arr,callback){
var result=[];
for(var i=0;i<arr.length;i++){
result.push(callback(arr[i],i,arr));
}
return result;
}

/*
Expand Down
22 changes: 18 additions & 4 deletions myReduce.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,24 @@
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce for more details
// Don't worry about initialValue at first. You can always add it in later.

function myReduce(arr, callback) {

// CODE INSIDE HERE //

function myReduce(arr, callback,initialValue) {
var result;
var i=0;
if(initialValue != undefined){
result=initialValue;
}
else {
result=arr[0];
i++;
}
if(arr.length > 0) {


for( ;i < arr.length ;i++){
result= callback(result, arr[i],i,arr);
}
}
return result;
}

/*
Expand Down