最近做项目,前端的一些总结

虽然算法对于前端来说不是那么重要,但是还是不可避免地会遇到一些算法问题,对于我遇到的一些问题,有一些原创性的总结,我现在总结如下

1,获取过去7天的时间:

 $("#chooselastweek").click(function(){        //点击获取过去七天的按钮。
          var dat= new Date();
          dat.setDate(dat.getDate()-1)            //获取昨天日期
          var year=dat.getFullYear();
          var month=dat.getMonth()+1;
          var day=dat.getDate();
          var str1=formatDate(year+"-" + month+ "-" +day);
          $("#endtimeshow").attr("value",str1);   // 终止日期
           $("#endtimeshow").val(str1);
          dat.setDate(day-6);
           var year=dat.getFullYear();
           var month=dat.getMonth()+1;
            var day=dat.getDate();
            var str2= formatDate(year + "-" + month + "-" + day);
            $("#starttimeshow").attr("value",str2);   //起始日期
            $("#starttimeshow").val(str2);
            if ($("#date_alert").text() != "") {
                $("#date_alert").text("");
           }
      })

2,把以“分”为单位的金额格式化为“元”,比如“12345456“那么应该得到"123,454.56",注意中间室友逗号隔开的。

function moneyUnitCoversion(strNum){   //把金额的显示效果进行改变
           var num=parseInt(strNum); 
           num=(num/100).toFixed(2); 
           var str=num.toString();
           var Arr=str.split(".");
           var a=Arr[0].split("");
           var len=a.length;
           if(len>3){
              for(var i=len-4;i>=0&&a[i]!="-";i=i-3){
                  a[i]=a[i]+",";
              }
           }
          Arr[0]=a.join("");
          str=Arr[0]+"."+Arr[1];
         return str;
   }

3,确认一个数组里面有没有重复的数

function isRepeat(arr){
  var hash = {};
  for(var i in arr) {
     if(hash[arr[i]]){
         return true;
     }
      hash[arr[i]] = true;
  }
  return false;
}

4,用div的方法画出条形图,为什么不选择用canvas画,因为div的点击效果好,点击条形图的每一个柱子,可以触发事件。

function drawChart(searchType,data,cat,resp){                  //画折线图函数
    var wrapWidth=$(window).width();
    var top;
    var left=0;
    var hei;
    var lis="";
    var len=data.length;
  var max=data[0].refundAmount;
   for(var i=1;i<len;i++){
             if(data[i].refundAmount>max){
                 max=data[i].refundAmount;
             }
   }
    if(max==0){
             max=1;
   }

         $("#showchart").css("width",wrapWidth+"px");

 for(var i=0;i<len;i++){
             top=165-165*data[i].refundAmount/max;
             hei=180-top;
             lis+="<div class='singlePart' style='top:"+top+"px;left:"+left+"px;height:"+hei+"px;'><p>"+data[i].timeStr+"</p></div>";
             left+=74;
   }
    $("#showchart").append(lis);
    $("#showchart").scrollLeft(left-wrapWidth-30);

}

5,合并两个json对象

 function mergeJsonObject(jsonbject1, jsonbject2){       //合并对象的函数
        var resultJsonObject=[];  
            var count=0;
            for(var i=0,len=jsonbject1.length;i<len;i++){
               resultJsonObject[count]=jsonbject1[i];
               count++;
             }

            for(var i=0,len=jsonbject2.length;i<len;i++){  
                resultJsonObject[count]=jsonbject2[i];
                count++; 
            }  
  
            return resultJsonObject;  
  }

6,设置localStorage每天凌晨4点过期功能

function getExpireDate(){                                    //设置过期日期
         var date=new Date();
         date.setDate(date.getDate()+1);
         date.setHours(4);
         date.setMinutes(0);     //获取分钟数(0-59)
         date.setSeconds(0);     
         return date;
}

var str = getExpireDate().toString();
  if ( new Date().getTime() > new Date(localStorage.date).getTime()) {
    localStorage.clear();
    localStorage.setItem("date", str);

  localStorage.setItem("data", data);  //重新存入数据
  }

 

转载于:https://my.oschina.net/u/2604302/blog/735168

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值