一、

  1.   构建一个数组【“00:00”,"00:05"..."23:55"】的数组

    1. function buildAxis(){
    2. var ary=[];
    3. ary.push("00:00");
    4. var start = Date.UTC(2017,1,1,-8,0,0);
    5. for(var i=0;i<288;i++){
    6. start += 1000*60*5;//(5分钟的毫秒数)
    7. var _date=new Date(start);
    8. var Hours=cal(_date.getHours());
    9. var Minutes=cal(_date.getMinutes());
    10. ary.push(Hours+":"+Minutes);
    11. }
    12. ary.pop();
    13. return ary;
    14. }
    15. function cal(o){
    16. if(o<10&&String(o).length==1){
    17. return "0"+o;
    18. }else{
    19. return o;
    20. }
    21. }
  2.   根据输入的年月份(2017-09),返回月份每一天的数组   【“2017-09-01*******2017-09-30”】注意天数
  1. /**
  2. * @desc 根据月份得出当前日月年天数的数组【2018-06-01,2018-06-02...2018-06-30】。
  3. * @param str
  4. * @return {Array} arr
  5. */
  6. function getCountDays(str) {
  7. var year=str.substr(0,4);
  8. var month=str.substr(-2);
  9. var curDate = new Date(year,month,0);//如果是0返回最后一天 /* 返回当月的天数 */
  10. var day= curDate.getDate();
  11. var dayArr=[];
  12. for (var k = 1; k <=day; k++){
  13. dayArr.push(str.substr(0,4)+"-"+str.substr(-2)+"-"+add0(k)); }
  14. return dayArr;
  15. }
  16. function add0(o){
  17. if(o<10&&String(o).length==1){
  18. return "0"+o;
  19. }else{
  20. return o;
  21. }
  22. }
  23. var str="2017-06";
  24. var arr=getCountDays(str);
  25. console.log(arr);//["2017-06-01","2017-06-02","2017-06-03"..."2017-06-30"]

附加实例,$.grep筛选   

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  6. <style type="text/css">
  7. body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
  8. </style>
  9. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=SLrOIdVUUI5fbvsZTMqTFshsG993NBAG"></script>
  10. <title>地图展示</title>
  11. <style type="text/css">
  12. img { width: 150px !important;}
  13. </style>
  14. </head>
  15. <body>
  16. </body>
  17. </html>
  18. <script type="text/javascript" src="js/jquery-1.11.3.js"></script>
  19. <script type="text/javascript">
  20. //原数组
  21. var rowData=[
  22. {date:'2017-09-18',fzlMax:0.18,fzlMin:0.12},
  23. {date:'2017-09-20',fzlMax:0.25,fzlMin:0.2},
  24. {date:'2017-09-19',fzlMax:0.22,fzlMin:0.12}
  25. ]
  26. //需要的数组格式
  27. var series=[
  28. {
  29. name:'最大负载',
  30. type:"line",
  31. data:[]
  32. },{
  33. name:'最小负载',
  34. type:"line",
  35. data:[]
  36. }
  37. ]
  38. //第一步:组成每一天的大数组 dateArr ["2017-09-01"****"2017-09-31"]
  39. window.onload=function(){
  40. var str="2017-09";
  41. var dateArr=getCountDays(str);
  42. //第二部:循环数组
  43. for(var j=0;j<dateArr.length;j++){
  44. var ary=$.grep(rowData,function(n,dIndex){
  45. return (n.date==dateArr[j]);
  46. })
  47. if(ary.length>0){
  48. series[0].data.push(ary[0].fzlMax);
  49. series[1].data.push(ary[0].fzlMin);
  50. }else{
  51. series[0].data.push("-");
  52. series[1].data.push("-");
  53. }
  54. }
  55. console.log(series);
  56. }
  57.  
  58. function add0(o){
  59. if(o<10&&String(o).length==1){
  60. return "0"+o;
  61. }else{
  62. return o;
  63. }
  64. }
  65. function getCountDays(str) {
  66. var year=str.substr(0,4);
  67. var month=str.substr(-2);
  68. var curDate = new Date(year,month,0);//如果是0返回最后一天
  69. /* 返回当月的天数 */
  70. var day= curDate.getDate();
  71. var dayArr=[];
  72. for (var k = 1; k <=day; k++) {
  73. dayArr.push(str.substr(0,4)+"-"+str.substr(-2)+"-"+add0(k));
  74. }
  75. return dayArr;
  76. }
  77.  
  78. </script>
  • 两个数组相除
  1. Number.prototype.toMyFixed=function(){
  2. try{
  3. if(Math.abs(this)>1000){
  4. return parseFloat(this.toFixed(0),10);
  5. }else if(Math.abs(this)<1){
  6. return parseFloat(this.toFixed(4),10);
  7. }else{
  8. return parseFloat(this.toFixed(2),10);
  9. }
  10. }catch(e){
  11. return this;
  12. }
  13. }
  14. var arr1=[2,4,6];
  15. var arr2=[1,2,3];
  16. alert(calc(arr1,arr2));
  17. //[2,2,2];两个数组相除
  18. function calc(arr1,arr2){
  19. var arr=[];
  20. for(var i=0;i<arr1.length;i++){
  21. var val=devided(arr1[i],arr2[i]);
  22. arr.push(val);
  23. }
  24. return arr;
  25. }
  26. function devided(topNum,botNum){
  27. if(isNaN(topNum)||isNaN(botNum)||parseFloat(botNum)==0){
  28. return "-";
  29. }else{
  30. return Number(topNum/botNum).toMyFixed();
  31. }
  32. }

3.数组求和

  1. /**
  2. * @desc 对一个数组进行求和。
  3. * @param 数组
  4. * @return {string} sum
  5. */
  6. function arrSum(arr){
  7. if(!arr||arr.length===0){
  8. return 0;
  9. }
  10. var sum=arr.reduce(function(x,y){
  11. x=isNaN(x)?0:x;
  12. y=isNaN(y)?0:y;
  13. return Number(parseFloat(x)+parseFloat(y)).toFixed(2);
  14. },0)
  15. return sum;
  16. }

4.将样式字符串改成对象   2019/06/12  组态中按钮样式合并用到

  1. var style="width:100px;height:200px;border:1px solid red;border-radius:8px 10px 2px 5px";
  2. console.log(styleToObject(style));//{width:100px,height:200px,border:1px solid red,border-radius:8px 10px 2px 5px}
  3. /**把样式字符串样式转化为{}
  4. *@param style:样式字符串
  5. **/
  6. function styleToObject(style) {
  7. let styleObject = {}
  8.  
  9. if (style && style != '' && style !== 'null') {
  10. const len = style.length
  11. styleObject = style.charAt(len - 1) === ';' ? '{' + style + '}' : '{' + style + ';}' // 统一样式后面以";"结束
  12.  
  13. // 将字符串转化为json标准字符串
  14. styleObject = styleObject.replace(/{/g, '{\"')
  15. styleObject = styleObject.replace(/:/g, '\":\"')
  16. styleObject = styleObject.replace(/;/g, '\",\"')
  17. styleObject = styleObject.replace(/,"}/g, '}')
  18.  
  19. // 将json标准字符串转化为{}对象
  20. styleObject = JSON.parse(styleObject)
  21. }
  22. return styleObject
  23. }

pulic——功能性(自己写完测试的)的更多相关文章

  1. 不写完不让回家的JQuery的事件与动画

    在这看不见太阳的小黑屋里,苦逼的一天又开始了 好了闲话我也就不扯了,接下来我就来说说我对jQuery事件和动画的理解吧!!! 还是得再扯两句,我们敬爱的,Y老师讲完了,jQuery事件和动画,对着我们 ...

  2. 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面.

    刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面. 刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面.

  3. Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。

    #29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...

  4. Scrum:The Definition of Done —— 作业有没有写完呢?

    Scrum:The Definition of Done -- 作业有没有写完呢?_苗得雨_新浪博客 http://blog.sina.com.cn/s/blog_59450ffc0102eiai.h ...

  5. HDU 4640 状态压缩DP 未写完

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4640 解题思路: 首先用一个简单的2^n*n的dp可以求出一个人访问一个给定状态的最小花费,因为这i个 ...

  6. 用putty玩linux的时候由于以前用window 习惯写完东西按一下ctrl+s 保存

    问题描述:用putty玩linux的时候由于以前用window 习惯写完东西按一下ctrl+s 保存,但是在putty一按下就不能再输入了.后来查找到:ctrl+s 是putty的一个命令大概是这样子 ...

  7. Word 双栏排版最后多一页空白页删不掉、左栏文字没写完就到右栏了

    1. 问题 问题:Word双栏排版,最后多一页空白页,删不掉.如图: 原因分析:删不掉是因为末尾文字处其实有个下一页分节符,只不过可能看不到. 如何清晰的看到? 视图 > 大纲,就可以看到了.如 ...

  8. Linux安装Oracle 11G过程(测试未写完)

    一.简介 Oracle数据库在系统运维中的重要性不言而喻,通过熟悉Oracle的安装来加深对操作系统和数据库知识的了解.Linux安装Oracle前期修改linux内核参数很重要,其实就是linux下 ...

  9. LINUX下多路径的介绍和安装配置(测试未写完)

    一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来 ...

随机推荐

  1. 关于hibernate的查询

    为什么建议hibernate查询全部字段 一般而言,要查询什么字段就查询什么字段,不要select * from表,但是在hibernate,我们其实可以不遵循这个规则,建议我们把所有属性都查询出来( ...

  2. 【转】android 布局优化

    前言 本篇文章为Android优化的布局部分,该部分应该是Android中很重要的,无论是在自定义控件中,还是在简单的书写布局时,都应该尽量遵循一些优化原则,这样布局的绘制效率才会更高,体验才能更好. ...

  3. 父级(display:none)隐藏时,子节点的高度获取。

    当父节点display:none的时候,子节点的高度是0获取不到. 解决办法:用visibility替换display就可以了.

  4. 解决org.hibernate.NonUniqueObjectException的问题

    不知道是不是之前处理懒加载的问题对session工厂进行了处理,导致了之前没有问题的地方出现了错误. 当修改班级操作时出现了错误 前端错误信息 后台处理以及报错信息 16:37:36,034 ERRO ...

  5. react.js学习之路五

    最近没时间写博客,但是我一直在学习react,我发现react是一个巨大的坑,而且永远填不完的坑 关于字符串的拼接: 在react中,字符串的拼接不允许出现双引号“” ,只能使用单引号' ',例如这样 ...

  6. ASP.NET Core 一个Json返回类

    很多时候(如Ajax)我们需要从Web应用中得到标准的反馈以便进行数据分析. 为此,我将各类返回标准化封装,客户端将统一得到 JSON:[{"status":200,"m ...

  7. ulimit -n 查看可以打开的最大文件描述符的数量

    具体ulimit命令参考 https://www.cnblogs.com/wangkangluo1/archive/2012/06/06/2537677.html

  8. 在Discuz X 中增加一个单独的页面

    如果在DZ中增加一个新的页面,并且取得DZ中相关的用户等乱七八糟的属性,在旧的版本中只要引用一个 -. comm.php 文件就可以,但是在 X 版本以后好像就没.还好,X版本中还是有办法解决的,使用 ...

  9. 传智播客Springmvc_mybatis学习笔记

    文件地址:https://download.csdn.net/download/qq_26078953/10614459

  10. REST模式中HTTP请求方法(GET,POST,PUT,DELETE)

    一直在测试REST模式的WEB SERVICE接口,客户端的HTTP的请求方式一般分为四种:GET.POST.PUT.DELETE,这四种请求方式有什么不同呢.简单的说,GET就是获取资源,POST就 ...