Skip to content

Instantly share code, notes, and snippets.

@zenius
Last active May 3, 2019 17:00
Show Gist options
  • Save zenius/0bc9d6763a39f300f19b9cc967cdad0f to your computer and use it in GitHub Desktop.
Save zenius/0bc9d6763a39f300f19b9cc967cdad0f to your computer and use it in GitHub Desktop.
Getting functions to work together is function composition.
const uppercaseString = (string) => string.toUpperCase();
const reverseString = (string) => string.split("").reverse().join("");
const upperAndReverseName = (string) => {
const upperCasedName = uppercaseString(name);
return reverseString(upperCasedName);
};
const name ="John";
const result = upperAndReverseName(name);
console.log({ result }); // { result: "NHOJ" }
// Beauty of Function Composition
Now let us consider the scenario where you have list of names.
const uppercaseString = (string) => string.toUpperCase();
const reverseString = (string) => string.split("").reverse().join("");
const upperAndReverseName = (string) => {
const upperCasedName = uppercaseString(string);
return reverseString(upperCasedName);
};
const upperAndReverseNameAll = (names) => {
return names.map(upperAndReverseName);
}
const names = [ "John", "Gary", "Stark" ];
const result = upperAndReverseNameAll(names);
console.log({ result }); // { [ "NHOJ", "YRAG", "KRATS" ] }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment