一个星期数[Mon,Wed,Thu,Fri,Sun]数组,并使用TS或JS以字符串形式显示它,如Mon,Wed-Fri,sun。
接下来的一天会像韦德-弗里一样。
ex-1 [Mon,Tue,Wed,Thu,Fri,sat,sun] display like Mon-Sun
ex-2 [Mon,Tue,Thu,Fri,Sat,sun] display like Mon-Tue,Thu-sun
ex-2 [Mon,Tue,Thu,Sat,Sun] display like Mon-Tue,Thu,sat-sun发布于 2020-02-20 11:10:39
const fullList = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
function optimizeList(list) {
var from = -1, to = -1, res = [];
fullList.forEach(function(n, idx) {
var found = list.indexOf(n) >= 0;
if (found && to >= 0 && idx === to + 1)
to = idx;
if (from === -1 && found)
from = to = idx;
if (to >= 0 && (idx === fullList.length - 1 || to !== idx)) {
res.push(fullList[from] + (to !== from ? '-' + fullList[to] : ''));
from = to = -1;
}
})
return res
}
console.log(optimizeList(['Mon','Tue','Fri','Sun']))
console.log(optimizeList(['Tue','Fri']))
console.log(optimizeList(['Mon','Tue','Wed','Thu','Fri','Sat','Sun']))
console.log(optimizeList(['Sat','Sun']))
console.log(optimizeList(['Tue','Wed']))
https://stackoverflow.com/questions/60317733
复制相似问题