Professional fullstack dev since 2017
Convert a JSON object to an array
json2array({"thing1":{"key1":"value"},"thing2":{"otherKey":"otherVal"}});
[{"key1":"value","key":"thing1"},{"otherKey":"otherVal","key":"otherVal"}]
functionjson2array(json){varresult=[];varkeys=Object.keys(json);keys.forEach(function(key){varendJSON=json[key];endJSON.key=keyresult.push(endJSON);});returnresult;}
Add two vectors togeth
functionsumArrays(...arrays){constn=arrays.reduce((max,xs)=>Math.max(max,xs.length),0);constresult=Array.from({length:n});returnresult.map((_,i)=>arrays.map(xs=>xs[i]||0).reduce((sum,x)=>sum+x,0));}
Generates a random number X digits long
functionrand(digits){returnMath.floor(Math.random()*parseInt('8'+'9'.repeat(digits-1))+parseInt('1'+'0'.repeat(digits-1)));}
Checks to see if an object is equal to{}
functionisEmptyObject(obj){for(varkeyinobj){if(obj.hasOwnProperty(key))returnfalse;}returntrue;}
Vanilla JS generate UID
constuid=()=>{letd=newDate().getTime(),d2=((typeofperformance!=='undefined')&&performance.now&&(performance.now()*1000))||0;return'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,c=>{letr=Math.random()*16;if(d>0){r=(d+r)%16|0;d=Math.floor(d/16);}else{r=(d2+r)%16|0;d2=Math.floor(d2/16);}return(c=='x' ?r :(r&0x7|0x8)).toString(16);});};
Generates a random number in range
functionrandRange(min,max){returnMath.random()*(max-min)+min;}