awesome-calculator
Version:

1 lines • 1.14 kB
JavaScript
!function(r,e){var t="function"==typeof define,n="undefined"!=typeof module&&module.exports;t?define(e):n?module.exports=e():this.cal=e()}(0,function(){function r(){for(var r=Array.from(arguments),e=0;e<r.length;e++)if(isNaN(r[e]))throw new TypeError("the parameter should be number or string");var t=[],n=[];r.forEach((r,e)=>{t[e]=function(r){if(isNaN(r))throw new TypeError("the parameter should be type of number or string");var e=(r+"").split(".")[1];return e?e.length:0}(r),n[e]=function(r){if(isNaN(r))throw new TypeError("the parameter should be type of number or string");var e=(r+="").split("."),t=parseInt(e[0]);let n;if(e[1]){var o=parseInt(e[1]),a=e[1].length;n=t*Math.pow(10,a)+o}else n=parseInt(e[0]);return n}(r)});var o=n.reduce((r,e)=>r*e),a=t.reduce((r,e)=>r+e);return o/Math.pow(10,a)}return{mul:r,plus:function(){for(var e=[],t=Array.from(arguments),n=0;n<e.length;n++)if(isNaN(e[n]))throw new TypeError("the parameter should be number or string");t.forEach((r,t)=>{try{e[t]=r.toString().split(".")[1].length}catch(r){e[t]=0}});var o=e.sort((r,e)=>e>r)[0],a=Math.pow(10,o);return t.map(e=>r(e,a)).reduce((r,e)=>r+e)/a}}});