javascript - 如何在星期几同时添加连字符
问题描述
示例 1:
daysofweek=['MON','TUE','WED','THU','FRI','SUN'] ;
输出应该是:
MON-FRI,SUN
示例 2:
daysofweek=['MON',TUE'];
输出应该是:
MON,TUE
解决方案
var oneDArray = function(weekArray){
var week = [];
for(var i=0; i< weekArray.length;i++){
var conDays = weekArray[i];
if((sorter[conDays[1]] - sorter[conDays[0]]) === 0 ){
week[i] = conDays[0];
}
else if((sorter[conDays[1]] - sorter[conDays[0]]) === 1 ){
week[i] = conDays;
}else{
week[i] = conDays.join("-");
}
}
return week.join();
};
var convertToWeekRanges = function (week) {
var weekRanges = []
weekRanges[0] = [week[0], week[0]];
var lastIndex = 0;
for (var i = 1; i < week.length; i++) {
if ((sorter[week[i]] - sorter[weekRanges[lastIndex][1]]) === 1) {
weekRanges[lastIndex][1] = week[i];
} else {
weekRanges[++lastIndex] = [week[i], week[i]];
}
}
return weekRanges;
};
console.log(oneDArray(convertToWeekRanges(['MON','TUE'] )));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','SAT','SUN'])));
console.log(oneDArray(convertToWeekRanges(['MON','TUE','WED','THU','FRI','SUN'])));
推荐阅读
- selenium - Jmeter webdriver 采样器:Webdriver 采样器和 http 采样器请求不会同时被命中
- postgresql - 找出所有至少连续出现 3 次的数字 | 无论如何使用窗口功能来实现这一点?
- javascript - pugjs 中的 setInterval
- google-cloud-platform - GKE 私有集群节点状态始终未知
- haskell - Haskell 中 Hangman 的错误递归
- mongodb - Smartsheet API ---- 如何将图像上传到工作表上的单元格,然后将其发送到后端(到 AWS S3,获取 URL,用于 MongoDB)
- python - 节点类实例不可调用
- http - 找不到 Chi GoLang http.FileServer 返回 404 页面
- java - 无法解析数组名称中带有破折号/连字符的 JSON 数组
- mysql - 按一个表的最大值从 SQL 表中选择