最近关于一些js问题的解答附上代码

本文提供两种计算两个日期间天数差的方法,并介绍了一种统计数组中元素重复次数的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是题目:https://github.com/iszu/web-learning/blob/master/JavaScript%E7%BB%83%E4%B9%A0%E9%A2%98.md#1-计算两个日期的天数差

1. 计算两个日期的天数差

function datedifference(sDate1, sDate2){    //sDate1和sDate2是2006-12-18格式

       var dateSpan,

          iDays;

 

       sDate1 = Date.parse(sDate1);//parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。

       sDate2 = Date.parse(sDate2);

       dateSpan = sDate2 - sDate1;

       dateSpan = Math.abs(dateSpan);

       iDays = Math.floor(dateSpan / (24 * 3600 * 1000));//将毫秒数转变成天数

       return iDays

};                                                                   alert( datedifference(new Date(2016, 2, 7), new Date(2016, 4, 12)))  ;

alert(datedifference(new Date(2016, 4, 12),new Date(2016, 2, 7))) ;

2. 计算两个日期的天数差 - 高级版

        function datedifference(sDate1, sDate2){    //sDate1和sDate2是2006-12-18格式

        var dateSpan,

           iDays;                                                                                                                                                     

       sDate1 = Date.parse(sDate1);

       sDate2 = Date.parse(sDate2);

       dateSpan = Math.abs(sDate2 - sDate1);

       iDays = dateSpan / (24 * 3600 * 1000);

       return iDays

};                                                                   alert( datedifference('2016-02-07', '2016-04-12'))  ;

alert(datedifference('2016-04-12','2016-02-07')) ;

3.计算数组中元素重复次数

function countRepeat (arr){

  arr = arr.sort();

  var newArr = [];

   if(arr.length > 0){

      for(let i = 0; i < arr.length; i++){

        var temp = arr[i];

        var count=0;

         for(let j = 0;j < arr.length ; j++){

           if(arr[j] == temp){

              count++;

               }

          }

       newArr.push(`\n\'${temp}\':${count}`)

      }

    }

   return newArr;

}

//上面得到arrs.lengrh个的数组需要把相同的元素去掉

var

    r,

   arrs = [2, 9, 8, 4, 5, 3, 4, 8, 9, 9, 1, 0, 2, 1],

   cutrepaet = countRepeat(arrs);

//alert(countRepeat(arrs))  ;

r = cutrepaet.filter(function (element,index, self) {

   return self.indexOf(element) === index;

});//用filter函数去掉相同的数组元素

alert(r);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值