|
@@ -355,5 +355,23 @@ module.exports = {
|
|
|
|
|
|
cb(song);
|
|
|
});
|
|
|
+ },
|
|
|
+ shuffle: (array) => {
|
|
|
+ let currentIndex = array.length, temporaryValue, randomIndex;
|
|
|
+
|
|
|
+ // While there remain elements to shuffle...
|
|
|
+ while (0 !== currentIndex) {
|
|
|
+
|
|
|
+ // Pick a remaining element...
|
|
|
+ randomIndex = Math.floor(Math.random() * currentIndex);
|
|
|
+ currentIndex -= 1;
|
|
|
+
|
|
|
+ // And swap it with the current element.
|
|
|
+ temporaryValue = array[currentIndex];
|
|
|
+ array[currentIndex] = array[randomIndex];
|
|
|
+ array[randomIndex] = temporaryValue;
|
|
|
+ }
|
|
|
+
|
|
|
+ return array;
|
|
|
}
|
|
|
};
|