const ksort = obj => { let keys = Object.keys(obj).sort() , sortedObj = {}; for (let i in keys) { sortedObj[keys[i]] = obj[keys[i]]; } return sortedObj; } const checkNullObj = (obj) => { if (Object.keys(obj).length === 0) { return false } return true } const checkArrayNotNullNumber = (array,notNullNumber = 2) => { let num = 0 for (const item in array) { if(array[item]) num++; } return num >= notNullNumber; } // 正切 const tan = angle => { return Math.tan(angle * Math.PI / 180) } // 余切 const cot = angle => { return 1 / tan(angle) } // 余弦 const cos = angle => { return Math.cos(angle * Math.PI / 180) } // 余割 const csc = angle => { return 1 / sin(angle) } // 正弦 const sin = angle => { return Math.sin(angle * Math.PI / 180) } // 正割 const sec = angle => { return 1 / cos(angle) } // 反正弦 const asin = value => { return Math.asin(value) * 180 / Math.PI; } // 反余弦 const acos = value => { return Math.acos(value) * 180 / Math.PI; } // 反正切 const atan = value => { return Math.atan(value) * 180 / Math.PI; } const checkTriangle = (a,b,c) => { a = parseInt(a); b= parseInt(b); c = parseInt(c); return a + b > c && a + c > b && b + c > a; } const round = (number,percent) => { if(!number) return number let flag = number < 0 ? '-' : ''; let arr = number.toString().split("."); if(arr.length > 1 && arr[1].length === 2) return number let i = Number('1'.padEnd(percent+1,'0')) number = Math.floor(Math.abs(Number(number)) * i) / i if(arr.length > 1 ){ let str = arr[1] if(str.length > 2 && str[2] >= 5){ number = Math.ceil(number * i) number += 1; number = number / i; } } if(number.toString().indexOf(".") === -1) number += ".0" arr = number.toString().split("."); arr[1] = arr[1].toString().padEnd(2,'0') number = arr.join(".") return flag+number; } export { ksort, checkNullObj, checkArrayNotNullNumber, tan, cot, cos, csc, sin, sec, asin, acos, atan, checkTriangle, round, }