收藏
回答

JS对象结构转换的问题?

我有一个数组对象,结构大概是这样的:

                   resultData: [{
            createTime1595550263618,
            request'joo',
            requestType'信息查询'
          }, {
            createTime1595380268698,
            request'tom',
            requestType'工单处理'
          }, {
            createTime1595680264638,
            request'luxi',
            requestType'信息查询'
          }]


里面有个时间戳,我希望通过时间戳,将数组对象结构变成这样:

          resultData: [{
            year2020,
            monthDay'7月24日',
            content: [{
              createTime1595550263618,
              time'10:32',
              request'joo',
              requestType'信息查询'
            }, {
              createTime1595380268698,
              time'12:13',
              request'tom',
              requestType'工单处理'
            }, {
              createTime1595680264638,
              time'11:28',
              request'luxi',
              requestType'信息查询'
            }]
          }]


通过getFullYear()、getMonth()等获得年月日和时分这些都没问题,就是结构怎么转换,没有思路,求指教。

注意,数组对象的length和内容都不是固定的,应该要用for循环转换。求指教。

回答关注问题邀请回答
收藏

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-07-25
    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)
    

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-07-25
    有用 1
    回复
  • 俞哄哄💻📷🤘🚴🎧
    俞哄哄💻📷🤘🚴🎧
    2020-07-25

    遍历这个数组在新建一个空数组

    根据每一项的createtime获取年月日时间每一项进行插入空数组

    2020-07-25
    有用 1
    回复
登录 后发表内容
问题标签