Created
December 21, 2013 20:36
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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); | |
} |
Thanks Jack :P At least it's mis-spelled consistently so the code still works.
True dat.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Corrected spelling. :P https://gist.github.com/JackBracken/8076201