我有一个数组对象,结构大概是这样的:
resultData: [{
createTime: 1595550263618,
request: 'joo',
requestType: '信息查询'
}, {
createTime: 1595380268698,
request: 'tom',
requestType: '工单处理'
}, {
createTime: 1595680264638,
request: 'luxi',
requestType: '信息查询'
}]
里面有个时间戳,我希望通过时间戳,将数组对象结构变成这样:
resultData: [{
year: 2020,
monthDay: '7月24日',
content: [{
createTime: 1595550263618,
time: '10:32',
request: 'joo',
requestType: '信息查询'
}, {
createTime: 1595380268698,
time: '12:13',
request: 'tom',
requestType: '工单处理'
}, {
createTime: 1595680264638,
time: '11:28',
request: 'luxi',
requestType: '信息查询'
}]
}]
通过getFullYear()、getMonth()等获得年月日和时分这些都没问题,就是结构怎么转换,没有思路,求指教。
注意,数组对象的length和内容都不是固定的,应该要用for循环转换。求指教。
var data = {}, arr = [] resultData.map(v=>{ var t = new Date(v.createTime), y = t.getFullYear(), ms = t.getMonth()+1, d = t.getDay(), h = t.getHours(), m = t.getMinutes(), key = [y,ms,d].join('-') v.time = h+':'+m if(data.hasOwnProperty(key)){ data[key].content.push(v) }else{ data[key] = {} data[key].year = y data[key].monthDay = ms+'月'+d+'日' data[key].content = [v] } }) for(var i in data){ arr.push(data[i]) } console.log(arr)
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
遍历这个数组在新建一个空数组
根据每一项的createtime获取年月日时间每一项进行插入空数组