jquery regroups the arrays with the same year and month into a new array


//Original array
var data = {
    results: [{
id:0,
date:'2017-12-12',
content:'123'
},{
id:0,
date:'2017-12-12',
content:'123'
},{
id:0,
date:'2017-11-12',
content:'123'
},{
id:0,
date:'2018-04-12',
content:'123'
}],
totalSize: 46,
validNumber: 0
}

var data2 = {};
var arr = [];
var keyMap = {};
for (var i = 0; i < data.results.length; i++) {
var arrElem = data.results[i];
var elemKey = arrElem.date.substring(0, 7);// Intercept the year and month
if (elemKey in keyMap) {
arr[keyMap[elemKey]].value.push(arrElem);
} else {
arr.push({
"date": arrElem.date.substring(0, 7),
"value": [arrElem]
});
keyMap[elemKey] = arr.length - 1;
}
}
data2 = {
results:arr,
totalSize: 46,
validNumber: 0
}
console.log(data2);

//处理后的结果
var data2 = {
results: [{
date:'2017-12',
value:[{
id:0,
date:'2017-12-12',
content:'123'
},{
id:0,
date:'2017-12-12',
content:'123'
}],
},{
date:'2017-11',
value:[{
id:0,
date:'2017-11-12',
content:'123'
}],
},{
date:'2018-04',
value:[{
id:0,
date:'2018-04-12',
content:'123'
}],
}],
totalSize: 46,
validNumber: 0
}
 
 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324996665&siteId=291194637