const str2 = [1, 2, 3, 6, 7]
// 传入一组已排序、无重复的页码压缩成的字符串
// · 连续的数字合并成start-end的形式
// · 不连序的用,分割
// · 单个数字直接输出数字
const compacyRanges = (str) => {
// 判空
if (str.length === 0) return '';
let result = [];
let start = str[0]
let end = str[0]
for (let i = 1; i < str.length; i++) {
if(str[i] === end + 1) {
// 连续
end = str[i]
} else {
// 不连序
// 添加当前区间
result.push(start === end ? start : `${start}-${end}`);
// 重置start、end
start = end = str[i];
}
}
// 添加最后一个区间
result.push(start === end ? start : `${start}-${end}`);
return result.join(',');
}
console.log('res', compacyRanges(str2));