【问题标题】:Combine arrays in Ruby在 Ruby 中组合数组
【发布时间】:2016-03-23 06:59:21
【问题描述】:

我有两个数组,如下所示。

a = [1, 2, 3, 4, 5]
b = [1.360, 0.085, -1.190, -0.340, 3.698]

我需要合并每个索引处的值,以便获得类似于 Resultant Array 的结构。

Resultant Array = [[1, 1.360], [2, 0.085], [3, -1.190], [4, -0.340], [5, 3.698]]

我该怎么做?

【问题讨论】:

  • a.zip(b) 应该这样做
  • 如何在 rails santhosh 的视图文件中执行此操作?
  • 你的意思是erb/haml文件吗?在erb中,<% %>里面的任何代码都会被执行,<%= %>里面的代码都会被执行,结果会输出到html中
  • 所以如果我这样做 会起作用吗?注意:@calculate 是我的控制器中的一个变量,我在其中存储所有数组
  • 如何在我的视图中将其存储在变量中。我是 Rails 的新手,因此这个菜鸟问题。

标签: arrays ruby merge


【解决方案1】:

您可以使用Array#zip

a.zip(b)
# => [[1, 1.36], [2, 0.085], [3, -1.19], [4, -0.34], [5, 3.698]]

【讨论】:

    【解决方案2】:
    a = [1, 2, 3, 4, 5]
    b = [1.360, 0.085, -1.190, -0.340, 3.698]
    

    您也可以尝试其他方法:

    [a,b].transpose
    

    注意: 当你的数组长度相同时使用这个

    【讨论】:

    • 我也尝试了您的建议,效果很好,但我认为“zip”是一种更好的方式,它恰好用于处理这些类型的情况,因此我接受了“zip”作为我的答案。无论如何也感谢您的建议。
    • @AhkshayRavi 是的,我同意你的看法 :)
    【解决方案3】:

    你可以这样做:

    a.zip(b) #=> [[1,1.360],[2,0.085],[3,-1.190],[4,-0.340],[5,3.698]]
    

    我没试过。

    来源:apidoc.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      • 2020-09-06
      • 1970-01-01
      相关资源
      最近更新 更多