48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
/**
|
|
* Returns the value of a number upto 2 decimal places.
|
|
* @param {Number} d Any number
|
|
*/
|
|
export function floatTwo(d) {
|
|
return parseFloat(d.toFixed(2));
|
|
}
|
|
|
|
/**
|
|
* Returns whether or not two given arrays are equal.
|
|
* @param {Array} arr1 First array
|
|
* @param {Array} arr2 Second array
|
|
*/
|
|
export function arraysEqual(arr1, arr2) {
|
|
if(arr1.length !== arr2.length) return false;
|
|
let areEqual = true;
|
|
arr1.map((d, i) => {
|
|
if(arr2[i] !== d) areEqual = false;
|
|
});
|
|
return areEqual;
|
|
}
|
|
|
|
/**
|
|
* Shuffles array in place. ES6 version
|
|
* @param {Array} array An array containing the items.
|
|
*/
|
|
export function shuffle(array) {
|
|
// Awesomeness: https://bost.ocks.org/mike/shuffle/
|
|
// https://stackoverflow.com/a/2450976/6495043
|
|
// https://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array?noredirect=1&lq=1
|
|
|
|
for (let i = array.length - 1; i > 0; i--) {
|
|
let j = Math.floor(Math.random() * (i + 1));
|
|
[array[i], array[j]] = [array[j], array[i]];
|
|
}
|
|
|
|
return array;
|
|
}
|
|
|
|
/**
|
|
* Returns pixel width of string.
|
|
* @param {String} string
|
|
* @param {Number} charWidth Width of single char in pixels
|
|
*/
|
|
export function getStringWidth(string, charWidth) {
|
|
return (string+"").length * charWidth;
|
|
}
|