js如何判断一组数字是否连续,实现分组

1,062 阅读1分钟
const arr=[3, 4, 13 ,14, 15, 17, 20, 22]

判断一组数字是否连续,得到一个临时数组[[3,4],[13,14,15],[17],[20],[22]]


function sortArray(arr) {
    if (!arr.length) {
        return arr;
    }
    else {
        var array = [];
        var temp = [arr[0]];
        for (var i = 1, l = arr.length; i < l; i++) {
            if (arr[i] === arr[i - 1] + 1) {
                temp.push(arr[i]);
            }
            else {
                array.push(temp);
                temp = [arr[i]];
            }
        }
        array.push(temp);
        return array;
    }
}