<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
function formatData(arr) {
const weekEnum = ['周一', '周二', '周三', '周四', '周五', '周六', '周日'];
const start = [];
const end = [];
var flag = true;
for (let i = 0; i < arr.length; i++) {
const element = arr[i]
const element1 = arr[i + 1]
if (flag) {
start.push(element);
}
if (element1 - element === 1) {
flag = false;
continue
} else {
flag = true;
end.push(element);
}
}
const resMsg = [];
for (let j = 0; j < start.length; j++) {
const startItem = start[j];
const endItem = end[j];
if (endItem - startItem === 0) {
resMsg.push(weekEnum[startItem]);
} else if (endItem - startItem === 1) {
resMsg.push(weekEnum[startItem], weekEnum[endItem]);
} else {
resMsg.push(weekEnum[startItem] + '~' + weekEnum[endItem]);
}
}
return resMsg.join('、');
}
const res1 = formatData([0,1,2,4,5,6])
const res2 = formatData([0,2,4,6])
const res3 = formatData([0,1,2,3,4,5])
const res4 = formatData([0,1,3,5,6])
console.log(res1)
console.log(res2)
console.log(res3)
console.log(res4)
</script>
</body>
</html>
js处理一周连续三天以上简写表示
于 2023-11-14 17:44:59 首次发布