Skip to content

Instantly share code, notes, and snippets.

@duncan60
Last active June 12, 2017 10:20
Show Gist options
  • Save duncan60/5f5ff122f46555f9f40a to your computer and use it in GitHub Desktop.
Save duncan60/5f5ff122f46555f9f40a to your computer and use it in GitHub Desktop.
functional programming
let add = (val, fun) => fun(val + 3);
let multiplication = (val) => val * 3;
console.log(add(2, multiplication));
//--------------------------------
let test = {
a: 10,
b: 20,
c: 30
};
let loopMap = (obj) => {
let o = {};
for (let prop in obj) {
o[prop] = obj[prop] + 10;
}
return o;
};
console.log('loopMap', loopMap(test));
//----------------------------------
let loopMap2 = (obj, fun) => {
let o = {};
for (let prop in obj) {
o[prop] = fun(obj[prop]);
}
return o;
};
let monad = {
plus(val) {
return val + 20;
},
multiplied(val) {
return val * 2;
}
};
console.log('plus', loopMap2(test, monad.plus));
console.log('multiplied', loopMap2(test, monad.multiplied));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment