这是题目: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);