如何获取数组中所有连续数字的范围(增加子序列)?

漏位

在 ruby​​ 中,我可以这样使用chunk_while

a = [1,2,4,9,10,11,12,15,16,19,20,21]
b = a.chunk_while {|i, j| i+1 == j }
p b.to_a #=> [[1, 2], [4], [9, 10, 11, 12], [15, 16], [19, 20, 21]]

在 JavaScript 中执行此操作的最佳方法是什么?

或德罗里

您可以创建一个chunkWhile()函数Array.reduce()

const chunkWhile = (predicate, arr) =>
  arr.reduce((r, n) => {
    let last = r[r.length - 1]
    
    if(!last || !predicate(last[last.length - 1], n)) {
      last = []
      r.push(last)
    }
    
    last.push(n)
    
    return r
  }, [])

const a = [1,2,4,9,10,11,12,15,16,19,20,21]

const result = chunkWhile((i, j) => i + 1 === j, a)

console.log(result)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取我的JavaScript数组的所有子字符串(连续的子序列)?

获取数组的所有连续相同数字的块

如何找到数组中所有数字的总和?

生成最长的位序列,其中所有5位连续子序列都是唯一的

查找包含集合中所有值的最短连续子数组的算法

numpy数组中所有元素的范围

如何获取数组中所有最大值的索引

如何获取结构数组中所有键的总和?

如何获取数组中所有出现相同值的索引?

如何获取char数组中所有匹配char的索引?

PHP正则表达式:查找字符串中所有连续的数字序列吗?

从数组生成所有连续序列

Django Rest Framework序列化器关系:如何获取父级序列化器中所有子对象的列表?

Python获取字符串中所有子字符串出现的索引范围

如何在Haskell中获取数字的所有子数字

查找数组中的所有连续数字对

获取数组中所有元素的ID

获取数组中所有单位的值

查找数组中所有连续集合的位置(MATLAB)

获取指定大小的所有连续子序列,同时也环绕到前面

列出所有连续的子数组

查找具有最佳复杂度的数组中唯一连续增加的子序列的数量

从给定的整数数组中获取所有连续子数组

在O(n)时间中找到序列的最长连续子序列的长度,其中所有元素均小于10 ^ 6

范围中所有子功能中的重载功能

如何从数组及其子数组中获取所有值

C#如何打印/显示数组中所有数字与平均值之间的“差”

如何获取字符串中所有数字的总和-Visual Basic 2010(模块)

如何递归地获取嵌套字典中所有数字的总和?