common_util.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /**
  2. * Created by CSL on 2017-06-06.
  3. * public functions for web.
  4. */
  5. // 忽略大小写判断字符串是否和参数指定的字符串相同
  6. String.prototype.sameText = function (str) {
  7. return this.toLowerCase() == str.toLowerCase();
  8. };
  9. // 忽略大小写判断字符串是否有参数指定的子串
  10. String.prototype.hasSubStr = function (str) {
  11. return this.toLowerCase().indexOf(str.toLowerCase()) > -1;
  12. };
  13. // 判断字符串是否是数字形式的字符串
  14. String.prototype.isNumberStr = function () {
  15. return this == +this;
  16. };
  17. // 树结点计算时,取费会出现值为NaN的情况,导致往父节点汇总(递归相加)会出现错误。
  18. function parseFloatPlus(value){
  19. let rst = parseFloat(value);
  20. return isNaN(rst) ? 0 : rst;
  21. };
  22. // 数组合并,并去重复。
  23. Array.prototype.merge = function (arr) {
  24. if (arr.length > 0){
  25. for (let e of arr){
  26. if (!this.includes(e)) this.push(e);
  27. };
  28. }
  29. };
  30. // 数组是否包含另一个数组。
  31. Array.prototype.hasSubArr = function (subArr){
  32. for(var i = 0, len = subArr.length; i < len; i++){
  33. if(this.indexOf(subArr[i]) == -1) return false;
  34. }
  35. return true;
  36. };
  37. Array.prototype.delete = function (elem){
  38. let idx = this.findIndex(function (e){return e == elem});
  39. if (idx != -1) this.splice(idx, 1);
  40. };
  41. function seqString(num,length){
  42. var numstr = num.toString();
  43. var l=numstr.length;
  44. if (numstr.length>=length) {return numstr;}
  45. for(var i = 0 ;i<length - l;i++){
  46. numstr = "0" + numstr;
  47. }
  48. return numstr;
  49. };
  50. function customRowHeader(sheet, dataLength) {
  51. for (let i = 0; i < dataLength; i++) {
  52. sheet.setValue(i, 0, `F${i + 1}`, GC.Spread.Sheets.SheetArea.rowHeader);
  53. }
  54. };
  55. function changePropNames(object, oldNames, newNames) {
  56. if (!object) return;
  57. for (let i = 0; i < oldNames.length; i++) {
  58. if (object[oldNames[i]]){
  59. object[newNames[i]] = object[oldNames[i]];
  60. delete object[oldNames[i]];
  61. };
  62. }
  63. };
  64. function deletePropNames(object, namesArr) {
  65. if (!object) return;
  66. for (let name of namesArr){
  67. if (object[name]) delete object[name];
  68. };
  69. };