幕布斯6054654
2019-03-22 10:15:30
類似這一種數據,如何切割為兩個數組,分為上午的時間,下午的時間,以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}]]
2 回答
拉莫斯之舞
TA貢獻1820條經驗 獲得超10個贊
與其用date去計算時間,不如用正則表達式去匹配,匹配小時數,如果大于12則下午,小于12則上午
/\s*(\d{1,2})\s*:\s*\d{1,2}\*/匹配第一個分組
翻過高山走不出你
TA貢獻1875條經驗 獲得超3個贊
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) // 轉化為一維數組
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)
添加回答
舉報
0/150
提交
取消
