JSFiddle - React, Tailwind, and code Playground

by lchau

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.3/lodash.min.js"></script>

JavaScript

/*
_.mixin((() => {
	const sample = _.sample;
	
  return {
  	sample(collection, replacement) {
			console.log('ok');
  	}	
  };
})());

console.log(_.sample([1, 2, 3]));
*/

const sample = (collection) => {
	const clone = _.chain(collection)
  	.cloneDeep()
  	.shuffle()
    .value();

	return () => clone.pop();
};
//{ a: 1, b: 2, c: 3, d: 4}
//console.log(_.shuffle({ a: 1, b: 2, c: 3, d: 4}));
const x = sample({ a: 1, b: 2, c: 3, d: 4});
console.log(x());
console.log(x());
console.log(x());
console.log(x());