var monthArrs=new Array(201603,201601,201602,201512)
if(judgeArray(monthArrs)){
alert(true);
}else{
alert(false);
}
/**
* 判断月份集合是否连续
* @param monthArr
* @returns {Boolean}
*/
function judgeArray(monthArr) {
/**
* 解决ie中不支持indexOf
*/
if (!Array.indexOf) {
Array.prototype.indexOf = function(obj) {
for (var i = 0; i < this.length; i++) {
if (this[i] == obj) {
return i;
}
}
return -1;
}
}
if (monthArr && monthArr.length > 0) {
// 集合排序
monthArr = monthArr.sort();
var minMonth = monthArr[0];
var arrLength = monthArr.length;
var tempArr = new Array();// 新月份集合
// 取最小月份 生成新月份集合(最小月份+i)
for (var i = 0; i < arrLength; i++) {
var tempYearMonth = minMonth + i;
var tempYearMonthStr = tempYearMonth.toString();
var tempMonthStr = tempYearMonthStr.substring(4, 6);
var tempMonth = parseInt(tempMonthStr);
if (tempMonth > 12) {
var yearstr = tempYearMonthStr.substring(0, 4);
var year = parseInt(yearstr) + 1;
var month = tempMonth - 12;
var tempYearMonthStr;
if (month < 10) {
tempYearMonthStr = year + '0' + month;
} else if (month >= 10 && month < 13) {
tempYearMonthStr = year + '' + month;
} else {
}
tempYearMonth = parseInt(tempYearMonthStr);
}
tempArr.push(tempYearMonth);
}
// 判断新月份集合中是否有元素 不包含在原集合中
for (var j = 0; j < tempArr.length; j++) {
var tempMonth = tempArr[j];
if (monthArr.indexOf(tempMonth) == -1) {// 旧集合中不包含新集合中的元素
return false;
}
}
return true;
}
}
判断月份集合是否连续
最新推荐文章于 2023-10-24 18:15:53 发布