Skip to content

Instantly share code, notes, and snippets.

@Corbzilla
Created June 13, 2018 03:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Corbzilla/0aace504097981e8ba97ff1ede387d50 to your computer and use it in GitHub Desktop.
Save Corbzilla/0aace504097981e8ba97ff1ede387d50 to your computer and use it in GitHub Desktop.
function getRandom(max) {
return Math.floor(Math.random() * Math.floor(max));
}
let input = ['Tyrion', 'Daenerys', 'Bronn', 'Margaery', 'Brienne'];
let output = '';
let gives = [...input];
let receives = [...input];
let giverObj = {};
while(gives.length > 1){
let giver = getRandom(gives.length);
let giverStr = gives[giver];
let receiver = getRandom(receives.length);
let receiverStr = receives[receiver];
if(giverStr === receiverStr || giverObj[receiverStr] === giverStr) {
continue;
}
giverObj[receiverStr] = giverStr;
receives.splice(receiver, 1);
gives.splice(giver, 1);
output += `${giverStr} passes to ${receiverStr}, `;
}
output += `${gives[0]} passes to ${receives[0]}`;
console.log(output);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment