Skip to content

Instantly share code, notes, and snippets.

@JeffSallans
Created August 3, 2017 15:37
Show Gist options
  • Save JeffSallans/bd0efaafbb198f712ca73222dad24e4a to your computer and use it in GitHub Desktop.
Save JeffSallans/bd0efaafbb198f712ca73222dad24e4a to your computer and use it in GitHub Desktop.
Lodash Memoize Only First Parameter Prototype
var _ = require("lodash")
var myMerge = (leftObject, rightObject) => {
return {
left: leftObject.left,
right: rightObject.right,
}
};
var memoizedMyMerge = _.memoize(myMerge);
var leftObject = {
left: 1,
right: 2,
};
var rightObject = {
left: 3,
right: 4,
};
var result = memoizedMyMerge(leftObject, rightObject);
result;
var newRightObject = Object.assign({}, rightObject, {
right: 5,
});
var rightMemoizedResult = memoizedMyMerge(leftObject, newRightObject);
rightMemoizedResult;
var newLeftObject = Object.assign({}, leftObject, {
left: 5,
});
var leftMemoizedResult = memoizedMyMerge(newLeftObject, rightObject);
leftMemoizedResult;
@JeffSallans
Copy link
Author

I ran this code in RunKit https://npm.runkit.com/lodash.memoize

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment