X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Futils%2Falea.js;h=1b112ef99e5e26f33d304749f758e206094d58c1;hb=2c5d7b20742b802d9c47916915c1114bcfc9a9c3;hp=337b25fa46dd0d556d34d2630360f3f8bf9d89cb;hpb=c66a829b3770122fe0ff2fb9db8def9635bbc334;p=vchess.git diff --git a/client/src/utils/alea.js b/client/src/utils/alea.js index 337b25fa..1b112ef9 100644 --- a/client/src/utils/alea.js +++ b/client/src/utils/alea.js @@ -1,36 +1,32 @@ // Random (enough) string for socket and game IDs -export function getRandString() -{ - return (Date.now().toString(36) + Math.random().toString(36).substr(2, 7)) - .toUpperCase(); +export function getRandString() { + return ( + Date.now().toString(36) + + Math.random() + .toString(36) + .substr(2, 7) + ).toUpperCase(); } -export function random (min, max) -{ - if (!max) - { +export function randInt(min, max) { + if (!max) { max = min; min = 0; } - return Math.floor(Math.random() * (max - min) ) + min; + return Math.floor(Math.random() * (max - min)) + min; } -// Inspired by https://github.com/jashkenas/underscore/blob/master/underscore.js -export function sample (arr, n) -{ +// Inspired by https://github.com/jashkenas/underscore +export function sample(arr, n) { n = n || 1; let cpArr = arr.map(e => e); - for (let index = 0; index < n; index++) - { - const rand = getRandInt(index, n); - const temp = cpArr[index]; - cpArr[index] = cpArr[rand]; - cpArr[rand] = temp; + for (let index = 0; index < n; index++) { + const rand = randInt(index, arr.length); + [ cpArr[index], cpArr[rand] ] = [ cpArr[rand], cpArr[index] ]; } return cpArr.slice(0, n); } -export function shuffle(arr) -{ +export function shuffle(arr) { return sample(arr, arr.length); }