js将一组为包含重复和无序日期的数组转化为按正常日期顺序排列的一组数组
2016-01-04 17:23
696 查看
//去除数组里重复的数据
function uniqueArray(data) {
data = data || [];
var a = {};
for (var i = 0; i < data.length; i++) {
var v = data[i];
if (typeof (a[v]) == 'undefined') {
a[v] = 1;
}
};
data.length = 0;
for (var i in a) {
data[data.length] = i;
}
sortDate(data);
return data;
};
//日期排序,冒泡排序
function sortDate(dateList) {
for (var i = 0; i < dateList.length; i++) {
for (var j = 0; j < dateList.length - i; j++) {//循环一次将最大的日期放到数组最后,第二次循环只需循环dateList.length-1次
if (new Date(dateList[j]) > new Date(dateList[j + 1])) {//将最大的日期排到最后
var temp = dateList[j + 1];
dateList[j + 1] = dateList[j];
dateList[j] = temp;
};
};
};
return dateList;
};
//计算两个日期格式为yyyy-MM-dd之间所有的日期,包含起止日期
function show(value1, value2) {//value1,value2格式为yyyy-MM-dd的字符串
var getDate = function (str) {
var tempDate = new Date();
var list = str.split("-");
tempDate.setFullYear(list[0]);
tempDate.setMonth(list[1] - 1);
tempDate.setDate(list[2]);
return tempDate;
}
var date1 = getDate(value1);
var date2 = getDate(value2);
if (date1 > date2) {
var tempDate = date1;
date1 = date2;
date2 = tempDate;
}
date1.setDate(date1.getDate());
date2.setDate(date2.getDate() + 1);
while (!(date1.getFullYear() == date2.getFullYear() && date1.getMonth() == date2.getMonth() && date1.getDate() == date2.getDate())) {
document.write(date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate());
date1.setDate(date1.getDate() + 1);
};
};
function uniqueArray(data) {
data = data || [];
var a = {};
for (var i = 0; i < data.length; i++) {
var v = data[i];
if (typeof (a[v]) == 'undefined') {
a[v] = 1;
}
};
data.length = 0;
for (var i in a) {
data[data.length] = i;
}
sortDate(data);
return data;
};
//日期排序,冒泡排序
function sortDate(dateList) {
for (var i = 0; i < dateList.length; i++) {
for (var j = 0; j < dateList.length - i; j++) {//循环一次将最大的日期放到数组最后,第二次循环只需循环dateList.length-1次
if (new Date(dateList[j]) > new Date(dateList[j + 1])) {//将最大的日期排到最后
var temp = dateList[j + 1];
dateList[j + 1] = dateList[j];
dateList[j] = temp;
};
};
};
return dateList;
};
//计算两个日期格式为yyyy-MM-dd之间所有的日期,包含起止日期
function show(value1, value2) {//value1,value2格式为yyyy-MM-dd的字符串
var getDate = function (str) {
var tempDate = new Date();
var list = str.split("-");
tempDate.setFullYear(list[0]);
tempDate.setMonth(list[1] - 1);
tempDate.setDate(list[2]);
return tempDate;
}
var date1 = getDate(value1);
var date2 = getDate(value2);
if (date1 > date2) {
var tempDate = date1;
date1 = date2;
date2 = tempDate;
}
date1.setDate(date1.getDate());
date2.setDate(date2.getDate() + 1);
while (!(date1.getFullYear() == date2.getFullYear() && date1.getMonth() == date2.getMonth() && date1.getDate() == date2.getDate())) {
document.write(date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate());
date1.setDate(date1.getDate() + 1);
};
};
相关文章推荐
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数
- Lua中实现sleep函数功能的4种方法
- Lua函数用法研究
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- PowerShell函数简明教程
- SQL Server中的RAND函数的介绍和区间随机数值函数的实现