没有脚的大鹏 2022-10-09 14:08 采纳率: 33.3%
浏览 30
已结题

如何实现以下转换,合并连续的数字?(语言-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. 将非连续的数字元素,转成字符串
用代码块功能插入代码,请勿粘贴截图
  • 写回答

1条回答 默认 最新

  • 飞鱼爱吃米 2022-10-09 15:46
    关注

    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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月17日
  • 已采纳回答 10月9日
  • 创建了问题 10月9日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题