js數組的多條件篩選

問題:有以下數組

var reportList = [
	{ reportName: '報告一', reportType: 1, reportTime: '20190524', isRelease: true },
	{ reportName: '報告二', reportType: 2, reportTime: '20190321', isRelease: true },
	{ reportName: '報告三', reportType: 1, reportTime: '20180324', isRelease: true },
	{ reportName: '報告四', reportType: 2, reportTime: '20190111', isRelease: false },
	{ reportName: '報告五', reportType: 1, reportTime: '20180424', isRelease: false },
	{ reportName: '報告六', reportType: 2, reportTime: '20190228', isRelease: true },
	{ reportName: '報告七', reportType: 1, reportTime: '20180324', isRelease: true },
	{ reportName: '報告八', reportType: 2, reportTime: '20171111', isRelease: true },
];

其中reportType表示報告類型,1爲檢查報告,2爲檢驗報告;isRelease:表示改報告是否已發佈;處理該數據得到四個數組:
1. 已發佈檢驗報告
2. 已發佈檢查報告
3. 未發佈檢驗報告
4. 未發佈檢查報告
並且將時間處理成2019-06-25的格式

 

解答:

var reportList = [
      { reportName: '報告一', reportType: 1, reportTime: '20190524', isRelease: true },
      { reportName: '報告二', reportType: 2, reportTime: '20190321', isRelease: true },
      { reportName: '報告三', reportType: 1, reportTime: '20180324', isRelease: true },
      { reportName: '報告四', reportType: 2, reportTime: '20190111', isRelease: false },
      { reportName: '報告五', reportType: 1, reportTime: '20180424', isRelease: false },
      { reportName: '報告六', reportType: 2, reportTime: '20190228', isRelease: true },
      { reportName: '報告七', reportType: 1, reportTime: '20180324', isRelease: true },
      { reportName: '報告八', reportType: 2, reportTime: '20171111', isRelease: true },
    ];

    const arr1 = [];
    const arr2 = [];
    const arr3 = [];
    const arr4 = [];

    reportList.forEach((item) => {
      const temp = item.reportTime;
      item.reportTime = temp.substr(0,4) + '-' + temp.substr(4,2) + '-' + temp.substr(6,2)
      if (item.reportType == 1) {
        if (item.isRelease) {
          arr1.push(item);
        } else {
          arr2.push(item);
        }
      } else {
        if (item.isRelease) {
          arr3.push(item);
        } else {
          arr4.push(item);
        }
      }
    })

    console.log(arr1);
    console.log(arr2);
    console.log(arr3);
    console.log(arr4);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章