首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript替换数组中的连续性整数

使用javascript替换数组中的连续性整数
EN

Stack Overflow用户
提问于 2015-10-26 12:47:19
回答 1查看 210关注 0票数 0

我想在javascript中排序和替换连续整数。

代码语言:javascript
复制
var arrayvals = [1,2,3,10,4,6,12,9];
arrayvals.sort(function(a, b) {
  return a - b;
});

我想这样打印:[1-4,6,9-10,12]

知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 12:57:38

在对数组进行排序之后,只需循环检查数组的连续性。例如:

代码语言:javascript
复制
var arrayvals = [1,2,3,4,6,9,10,12];
var output = [];

for(var i=0; i<arrayvals.length; i++){
    var min = arrayvals[i];
    var cur = arrayvals[i];
    while(cur + 1 === arrayvals[i + 1]){
        cur = arrayvals[i + 1];
        i++;
    }
    if(cur !== min){
        output.push(min + '-' + cur);
    }else{
        output.push(cur);
    }
}

console.log(output.join(','));

这至少假设在处理数组中有几个,但是您应该有大致的想法。我创造了一个小提琴你可以玩这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33346150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档