(javascript)自己的代码积累

js求时间差

//求多个时间段的分钟差
function Calc(timesArray){
	var time=0;
	for(var i=0;i<timesArray.length;i++){
		var minutes=CalcMinutes(timesArray[i]);
		time+=minutes;
	} 
	return time;
}

function CalcMinutes(times) {
    var bTimeNum = new Date('1111/01/01 ' + times[0]).getTime();
    var enTimeNum = new Date('1111/01/01 ' + times[1]).getTime();
    var minutes=(enTimeNum-bTimeNum) /(60*1000)
 
    return minutes;
  }
  
//js 求时间差
function DateDiff(beginTime,endTime){
	var diff=new Date(endTime).getTime()-new Date(beginTime).getTime();
	var days=Math.floor(diff/(24*3600*1000));
	var diff1=diff%(24*3600*1000);
	var hours=Math.floor(diff1/(3600*1000));
	var diff2=diff1%(3600*1000);
	var minutes=Math.floor(diff2/(60*1000));
	var diff3=diff2%((60*1000));	
	var seconds=Math.round(diff3/1000);
	alert(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒");
}

jquery判断数组是否含有某个元素

 
// jquery判断数组是否含有某个元素
var arr = [ "xml", "html", "css", "js" ];  
$.inArray("js", arr);  //返回 3,
如果不包含在数组中,则返回 -1;

js生成两个数组的不同数组

function diffArray(arr1, arr2) {
  var tmp = arr1.concat(arr2); 
  var arr3=[]; //临时数组
  for(var s in arr1){
    for(var x in arr2){
        if(arr1[s]===arr2[x]){
            arr3.push(arr1[s]);
        }
    }
  }
  tmp=tmp.filter(function(tmp){
    if(arr3.indexOf(tmp)==-1){
      return tmp
    }
  })
  return tmp
}  
 
//方法二
 function diff(arr1, arr2) {
  var newArr = arr1.concat(arr2);

  function check(item) {
    if (arr1.indexOf(item) === -1 || arr2.indexOf(item) === -1) {
      return item;
    }
  }

  return newArr.filter(check);
}

js数组去重

 
 

//方法一
Array.prototype.arrRdu= function()
{
	this.sort();
	var re=[this[0]];
	for(var i = 1; i < this.length; i++)
	{
		if( this[i] !== re[re.length-1])
		{
			re.push(this[i]);
		}
	}
	return re;
}

//方法二
Array.prototype.arrRdu= function()
{
    var n = {}, r = [], len = this.length, val, type;  
    for (var i = 0; i < this.length; i++) {  
        val = this[i];  
        type = typeof val;  
        if (!n[val]) {  
            n[val] = [type];  
            r.push(val);  
        } else if (n[val].indexOf(type) < 0) {  
            n[val].push(type);  
            r.push(val);  
        }  
    }  
    return r;  
}


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值