function lst_contains(arr, obj) { let i = arr.length; while (i--) { if (arr[i] === obj) { return true; } } return false; } //行列替换 function ds_transform(dataset){ let seted = []; //确定新数组有多少行 for(let i=0;i[] function ds_createMap(data){ let map = {}; for (let i = 0; i < data.length; i++) { let t1 = []; for (let j = 1; j < data[i].length; j++) { t1.push(data[i][j]); } if (data[i][0].length > 0) { map[data[i][0]] = t1; } else { map['0'] = t1; } } return map } // data表示传入的二位数组,生成结果表示为[{A:A1,B:B1,C:C1},{A:A2,B:B2,C:C2}...] function ds_createMap_all(data){ let dataset = []; let tmpmap ={}; for (let i = 1; i < data.length; i++) { tmpmap ={}; for (let j = 0; j < data[i].length; j++) { tmpmap[data[0][j]]=data[i][j]; } dataset.push(tmpmap); } return dataset; } //基于分辨率自动转字体大小 function ds_fontSize(res){ let docEl = document.documentElement; let clientWidth = window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth; if (!clientWidth) return; let fontSize = 100 * (clientWidth / 1920); return res*fontSize; } //水印 function addWaterMarker(str){ let can = document.createElement('canvas'); let body = document.body; body.appendChild(can); can.width=400; //画布的宽 can.height=200;//画布的高度 can.style.display='none'; let cans = can.getContext('2d'); cans.rotate(-20*Math.PI/180); //画布里面文字的旋转角度 cans.font = "16px Microsoft JhengHei"; //画布里面文字的字体 cans.fillStyle = "rgba(17, 17, 17, 0.50)";//画布里面文字的颜色 cans.textAlign = 'left'; //画布里面文字的水平位置 cans.textBaseline = 'Middle'; //画布里面文字的垂直位置 cans.fillText(str,can.width/3,can.height/2); //画布里面文字的间距比例 body.style.backgroundImage="url("+can.toDataURL("image/png")+")"; //把画布插入到body中 } // 制作上升下降箭头, // param >> 传参数大于0上升箭头 // num (0,1) >> 0表示绿色上升 默认0|1 表示上升红色 function ds_getUpdown(param, num=0) { let colorUp = "green"; let colorDown = "red"; if(num>0){ colorUp ="red"; colorDown = "green"; } if (param > 0) { return ''+param+'' } else { return ''+param+'' } } //转千分位 function ds_toThousands(num) { num = (num || 0).toString(), result = ''; let flag = num<0?"-":""; let data = (Math.abs(num)+"").split('\.'); num = data[0]; while (num.length > 3) { result = ',' + num.slice(-3) + result; num = num.slice(0, num.length - 3) } if (num) { result = num + result } if (data.length === 1) { return flag+result } return flag +result + '.' + data[1] } //去重 function ds_distinct(a, b=[]) { let arr = a.concat(b); let result = []; let obj = {}; for (let i = 0; i