JavaScript: Fisher-Yates shuffle