javascript - 是否有一个函数可以获取数字数组并返回范围?

标签 javascript arrays

我希望我的解释是正确的。 我需要编写一个函数来获取数字数组并返回范围数组(如果有)。

例如:

<强> [1,2,3,5,6,8,9,10] -----> [[1,2,3],[5,6],[8,9,10]]

最佳答案

如果增量不是 1,您可以检查前一个值并插入一个新数组。

var array = [1, 2, 3, 5, 6, 8, 9, 10],
    result = array.reduce((r, v, i, { [i - 1]: p }) => {
        if (p === v - 1) r[r.length - 1].push(v);
        else r.push([v]);
        return r;
    }, []);

console.log(result);

关于javascript - 是否有一个函数可以获取数字数组并返回范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58522392/

相关文章:

javascript - 如何使按钮显示表格 onclick

javascript - 转换 JavaScript 数组,创建表格 View

c - C 中的结构数组,告诉我我的成员不在结构或 union 中

c - 如何将数组传递给 C 中的函数

对象的 Javascript 计数数组

javascript - 使用 cookie 更改背景图像

javascript - 动画显示内联以阻止更改

javascript - jQuery Flot Chart 为每个系列添加标签

javascript - 如何在javascript中将字符串转换为数组而不需要额外的“和”,

php 将数组放入数组中