遍历数组的每个元素(第一个元素除外)

马特·布里克森

Ruby编写代码的惯用方式是什么?

给定一个数组,我想遍历该数组的每个元素,但是跳过第一个。我想这样做而不分配新数组。

这是我想出的两种方法,但都感觉不太优雅。

这可行,但看起来太冗长:

arr.each_with_index do |elem, i|
  next if i.zero? # skip the first
  ...
end

这可行,但分配一个新数组:

arr[1..-1].each { ... }

编辑/说明:我想避免分配第二个数组。最初,我说过我想避免“复制”该阵列,这很令人困惑。

品尼

使用内部枚举器当然更加直观,您可以像这样相当优雅地完成此操作:

class Array
  def each_after(n)
    each_with_index do |elem, i|
      yield elem if i >= n
    end
  end
end

现在:

arr.each_after(1) do |elem|
  ...
end

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以遍历数组,但不包括第一个元素?

数组第一个元素

遍历数组并为每个项目返回一个`Dropdown.Item`元素

遍历数组并为每个元素生成一个新变量

只有一个元素时遍历数组

如何删除每个元素的第一个元素

使用charAt遍历数组以获取javascript中每个值的第一个字母

如何遍历数组以获取每个字符串的第一个字符

映射Javascript中数组数组中每个数组的第一个元素

遍历2个数组仅循环第一个元素

遍历Python列表,但第一个元素在末尾?

链表遍历会跳过第一个元素

使用Lodash获取数组中每个数组的第一个元素

选择整数数组的每个数组的第一个元素

根据当前数组中每个项目的第一个元素创建新数组

XSLT仅每个选择第一个元素

是每个子列表的第一个元素?

根据第一个API响应对每个数组元素发出API请求

如何从数组的每个元素中删除第一个字符 - Javascript

使用多维数组中的每个第一个元素

如何过滤数组中除第一个之外的每个元素?JS

带所有元素(第一个元素除外)的数组未定义返回错误的长度

替换数组的第一个 `m` 个元素

已解决:遍历数组并仅选择第一个值 TS & React

在第一个匹配项后循环遍历数组并执行其他操作?

遍历数组时,第一个值始终为“未定义”

基于第一个索引循环遍历数组

在二维数组(网格)中设置第一个数组的第一个元素在每个内部数组中设置第一个元素

单击按钮时,一个接一个地遍历数组元素