数据结构转换
前言
生产生活中,很多企业使用的是sql数据库,业务中,为减少数据库访问、减少数据向前端传输,我选择更改数据格式
通过二维数据格式,转化为树状结构。
因为入职半年,加上业务较小,无人指导,现分享出来,供大家借鉴指正。
function sortData(Data){
var vernier,reData,X0,X1;
reData = [];
for(var i = 0;i<Data.length;i++){
vernier = Data[i].START_DATE_TIME.substring(0,10);
X0 = Data[i].START_DATE_TIME.substring(0,10);
X1 = Data[i].END_DATE_TIME || new Date();
if(typeof X1 === 'object'){
X1 = X1.getFullYear() + "-" + (X1.getMonth() + 1) + "-" + X1.getDate()
}
X1 = X1.substring(0,10);
var dateArr = inside(X0,X1,1)
for(var j=0;j<dateArr.length;j++){
vernier = dateArr[j];
!!reData[dateArr[j]]?reData[dateArr[j]].push(Data[i]):reData[dateArr[j]] = [Data[i]]
}
//debugger;
}
return reData
}
function inside(X0,X1,Interval){
var popArr = [];
var firstInt = new Date(X0);
var secondInt = (new Date(X1) - firstInt);
var days = Math.abs(secondInt / 86400000);
var freq = Math.ceil(days / Interval);
var i = 0;
var thenDate = 0;
while (i <= freq) {
thenDate = new Date(firstInt - 0 + i * Interval * 86400000);
thenDate = thenDate.getFullYear() + "-" + (thenDate.getMonth() + 1) + "-" + thenDate.getDate();
popArr.push(thenDate);
i++;
}
return popArr;
}
心向无暇
人不装B伪少年,by h.k
2018年1月16日
看源码是爱好、解决问题是职业——h.k