鍍金池/ 問答/HTML/ 類似這一種數(shù)據(jù)格式,如何切割為兩個數(shù)組,分為上午的時間,下午的時間,以12: 0

類似這一種數(shù)據(jù)格式,如何切割為兩個數(shù)組,分為上午的時間,下午的時間,以12: 00為分界限

類似這一種數(shù)據(jù),如何切割為兩個數(shù)組,分為上午的時間,下午的時間,以12: 00為分界限
[[{time: 8:30}, {time: 8:15}],[{time: 9: 00}, {time: 9: 10}, {time: 9: 15}],[{time: 10: 00}],[{time: 1:00}], [{time: 1:15}]]

回答
編輯回答
青裙

與其用date去計算時間,不如用正則表達式去匹配,匹配小時數(shù),如果大于12則下午,小于12則上午

/\s*(\d{1,2})\s*:\s*\d{1,2}\*/

匹配第一個分組

2018年5月26日 00:47
編輯回答
凹凸曼
const data = [[{time: '8:30'}, {time: '8:15'}],[{time: '9: 00'}, {time: '12: 10'}, {time: '9: 15'}],[{time: '10: 00'}],[{time: '14:00'}], [{time: '1:15'}]]


function trans (data) {
  data = [].concat.apply([], data) // 轉(zhuǎn)化為一維數(shù)組
  const before = []
  const after = []
  data.forEach(cur => {
    let hour = +cur.time.split(':')[0].trim()
    if (hour < 12) {
      before.push(Object.assign({}, cur))
    } else {
      after.push(Object.assign({}, cur))
    }
  })
  return {
    before,
    after
  }
}
trans(data)
2018年2月20日 17:15