【问题标题】:Elegant way to iterate over two arrays遍历两个数组的优雅方式
【发布时间】:2014-11-03 09:24:16
【问题描述】:

我有两个数组:

a = [1, 2 ,3]
b = [4, 5, 5]

我想遍历两个数组的所有元素。一种方法如下:

(a + b).each do |element|
  puts element
end

这会从ab 创建第三个数组,然后对其进行迭代。是否有更优雅/Rubyist 的方法来做同样的事情?

【问题讨论】:

标签: arrays ruby


【解决方案1】:

如果您只想打印两个数组中的每个对象:

puts a, b

如果您正在寻找更一般情况的解决方案,则无法避免创建第三个数组,但除非分配给对象,否则第三个数组将消失。 (如果你打电话给third_arr = a + b。)

如果性能是一个问题,您可以避免遍历大型数组。假设ab 的长度各为100,这意味着“第三个数组”将有200 个元素。您可以按每个单独的数组拆分工作,同时保持代码干燥。

[a, b].each do |arr|
  arr.each do |item|
    # ...
  end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    相关资源
    最近更新 更多