【问题标题】:Best way to smush pairs of array elements together in Ruby在 Ruby 中将数组元素对组合在一起的最佳方法
【发布时间】:2013-04-14 18:53:29
【问题描述】:

假设我有以下内容:

a = [1,2,3,4,5,6,7,8]

如何将其转换为每对的平均值?

也就是说,我该怎么做

a = [1.5,3.5,5.5,7.5]

我的意思是,我可以做到

我正在考虑 a.step(2),然后...涉及 each_with_index 的事情?

编辑:我看到了:

arr.each_with_index.map { |x,i| [x, i+2] }

arr.each_with_index.map { |x,i| (x + arr[i+1])/2 }

然后过滤掉所有偶数索引?

【问题讨论】:

    标签: ruby arrays loops


    【解决方案1】:

    each_slice(2)map 将在这里解决问题:

    [1,2,3,4,5,6,7,8].each_slice(2).map { |x,y| (x+y)*0.5 }
     => [1.5, 3.5, 5.5, 7.5]
    

    each_slice 一次迭代数组 n 个元素,然后我们 map 来转换生成的枚举数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2016-01-02
      • 2011-08-06
      相关资源
      最近更新 更多