SOURCE

// 输入:1, 2, 3, 5, 7, 8, 10
// 输出:1~3, 5, 7~8, 10
// 连续数字用~隔开
const arr = [1, 2, 3, 5, 7, 8, 10, 13, 14, 15]

const fn = (arr) => {
    let i = 0
    let res = []
    let diff = 1
    for(let j = 1; j <= arr.length; j++){
        if(arr[j] - arr[i] === diff){
            diff++
        } else {
            diff = 1
            if(arr[i] === arr[j - 1]){
                res.push(arr[i])
            } else {
                res.push(`${arr[i]}~${arr[j - 1]}`)
            }
            i = j
        }
    }
    return res
}

console.log(fn(arr))
console 命令行工具 X clear

                    
>
console