diff options
Diffstat (limited to 'src/utils/common.ts')
-rw-r--r-- | src/utils/common.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/utils/common.ts b/src/utils/common.ts index 30122e79..c1049c42 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -94,3 +94,24 @@ export const haveUnreadNotifications = async ( } return false; }; + +// https://stackoverflow.com/a/2450976 +export const shuffle = (array: any[]) => { + var currentIndex = array.length, + temporaryValue, + randomIndex; + + // While there remain elements to shuffle... + while (currentIndex !== 0) { + // 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; +}; |