最近做项目,前端的一些总结
2016-08-19 00:00
253 查看
虽然算法对于前端来说不是那么重要,但是还是不可避免地会遇到一些算法问题,对于我遇到的一些问题,有一些原创性的总结,我现在总结如下
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); //重新存入数据
}
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); //重新存入数据
}
相关文章推荐
- jquery
- 最简洁简单的JSP下载文件的方式。
- freemaker生成word,不能在线浏览
- jquery.ui.layout使用
- Javascript——dom元素样式获取(操作指南)
- Jsp本质,jsp内置对像
- Reactjs相比较原生方案是绝对的快吗?哪些情况下React有优势
- XML——XML解析介绍
- css_01之基础属性、选择器
- html之 4000 frameset页面布局
- NODE编程(一)--Node功能的组织和重用
- html基础标签知识快速回忆
- 自定义文本选中样式
- 自定义广播模式
- Android 项目中嵌入 ReactNative 模块
- 剑指offer--编程题参考代码(2)
- JSON与XML的区别比较
- JSPatch部署安全策略
- CSS3权威指南读书笔记
- css笔记(带补充)