亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問如何實現博客那種按時間分類的功能

請問如何實現博客那種按時間分類的功能

呼喚遠方 2018-09-12 13:13:38
我現在想實現一個文章按創建時間分類的功能。比如下面的數據,希望能夠根據不同的創建年份來分類。想要實現成這種效果:類似于想實現下面的效果。// 原來的數組[{value: '100', time: '2016'}, {value: '101', time: '2016'}, {value: '102', time: '2015'}]// 分類后的數組[     {        time: '2016',          archives: [{value: '100', time: '2016'}, {value: '101', time: '2016'}]      },      {        time: '2015',          archives: [{value: '102', time: '2015'}]      } ]求助一下大神們改如何實現呀?想了半天實在想不出什么方法能夠分類出來
查看完整描述

1 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

  1. 同學……你好歹說說你的博客是基于什么的吧……

  2. 如果光是說下面這種數據處理,就是個簡單的數組合并問題嘛

  3. // 原來的數組var arr = [{value: '100', time: '2016'}, {value: '101', time: '2016'}, {value: '102', time: '2015'}];
    //新的數組var ans = [];for(let i = 0; i < arr.length; i++) {
        const time = arr[i].time, flag = true;    for(let j = 0; j < ans.length; j++) {
  4.  if(time === ans[j].time) {
                ans[j].archives.push(arr[i]);            flag = false;
                break;
            }
        }    if(flag) {
            ans.push({            time: time,
                archives: [arr[i]]
            });
        }
    }

    隨便寫的,沒有測試,差不多就這意思了。

  5. 你舉的這個數據分類的例子啊,我覺得不太好,這樣你看是不是更合適一點:

    // 原來的數組[{value: '100', time: '2016'}, {value: '101', time: '2016'}, {value: '102', time: '2015'}]
    // 分類后的數組{    "2016":[
            {value: '100', time: '2016'}, {value: '101', time: '2016'}
        ],    "2015":[
            {value: '102', time: '2015'}
        ]
    }

    如果像這樣直接拿時間做鍵值的話,就能省掉上面中間那個掃描ans數組,尋找當前年份是否存在的過程,直接拿鍵值push就行了。想要按照數組訪問的話,Object.keys(ans)把鍵值列出來就行了。個人觀點,個人觀點。到底哪個合適,還是看你最后想要達到什么樣的效果。


查看完整回答
反對 回復 2018-10-14
  • 1 回答
  • 0 關注
  • 607 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號