如何实现以下转换,合并连续的数字?(语言-javascript)

实现以下转换,合并连续的数字

[1,2,3,4,6,7,9,13,15] 转换成 [1->4,6->7,9,13,15]

  1. 将超过一个的连续数字元素,合并成 x->y,比如 [1,2,3,4] 转成 ['1->4']
  2. 将非连续的数字元素,转成字符串
用代码块功能插入代码,请勿粘贴截图

img

      //数组处理函数
      function dealArray(array) {
        var t;
        var temp;
        var r = [];
        for (var j = 0; j < array.length; j++) {
          var v = array[j];
          if (v != null) {
            if (t === v) {
              temp.push(t);
              t++;
              continue;
            }
            temp = [v];
            t = v + 1;
            r.push(temp);
          }
        }
        return (arr = r.map((item) => {
          if (item.length > 1) {
            return (item = item[0] + '->' + item[item.length - 1]);
          } else {
            return (item = item[0].toString());
          }
        }));
      }
      let arr = [1, 2, 3, 4, 6, 7, 9, 13, 15];
      dealArray(arr);
      console.log(arr);