数据分组
初到掘金写文章。记录一下自己进步的点滴
今天看到一道题,数据分组觉得很有意思
var arr = [
{id: 1,created: '2016-05-04 15:12:40',content: '1'},
{id: 2,created: '2016-04-06 15:12:40',content: '2'},
{id: 3,created: '2016-04-02 15:12:40',content: '3'},
]
将arr内的数据进行分类,做了一遍后觉得自己代码很臃肿,就仔细的研究了一下,我就直接上成品了
// sort方法对比数字的大小
arr.sort((a,b) =>{
var da = new Date(a.created)
var db = new Date(b.created)
return da.getTime() - db.getTime()
})
console.log(arr);
var map = []
arr.forEach(t =>{
var d = new Date(t.created)
var month = d.getMonth()+1
var f = map.find(m => m.month == `${month}月`)
if(f){
return f.data.push(t)
}
map.push({
month: `${month}月`,
data: [t]
})
})
console.log(map)
咱们来捋一下哈
包括哪些操作:
(1)排序,created-ok
(2)分组,按照月份来分'created'
(3)数据属性,month,data-ok
最后要的效果再展示一下
var map = [
{month: '4月', data: [
{id: 3,created: '2016-04-02 15:12:40',content: '3'},
{id: 2,created: '2016-04-06 15:12:40',content: '2'}
]},
{month: '5月', data: [
{id: 1,created: '2016-05-04 15:12:40',content: '1'}
]}
]