Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@ShaneQful
Created December 21, 2013 20:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ShaneQful/8074705 to your computer and use it in GitHub Desktop.
Save ShaneQful/8074705 to your computer and use it in GitHub Desktop.
Kris Kindle Algorithm in JS, using Google's AppScript to send emails to everyone involved
function krisKindle() {
"use strict";
var peopleInKrisKindle, bag, key, giver,firstGiver, reciever, sendMail;
sendMail = function(giver, reciever) {
var email = peopleInKrisKindle[giver],
subject = "Secret Santa",
message = "You have to get a gift for " + reciever;
MailApp.sendEmail(email, subject, message);
};
peopleInKrisKindle = {
Santa: "santa@gmail.com",
Rudolf: "rudolf@hotmail.com",
Dasher: "dasher@hotmail.com",
Prancer: "prancer@gmail.com"
};//spec: keys are names, values are emails
bag = [];
for (key in peopleInKrisKindle) {
if (peopleInKrisKindle.hasOwnProperty(key)) {
bag.push(key);
}
}
giver = bag.splice(Math.floor(Math.random() * bag.length), 1);
firstGiver = giver;
while (bag.length > 0) {
reciever = bag.splice(Math.floor(Math.random() * bag.length), 1);
sendMail(giver, reciever);
giver = reciever;
}
sendMail(giver, firstGiver);
}
@JackBracken
Copy link

@ShaneQful
Copy link
Author

Thanks Jack :P At least it's mis-spelled consistently so the code still works.

@JackBracken
Copy link

True dat.

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