【问题标题】:Transforming an array using Ruby使用 Ruby 转换数组
【发布时间】:2023-01-18 19:44:38
【问题描述】:

我将如何转换这个数组:

[["10"], ["20"], ["30"], ["40"], ["21"], ["31"], ["41"], ["32"], ["42"], ["43"]]

进入这个数组

[[1, 0], [2, 0], [3, 0], [4, 0], [2, 1], [3 1,], [4, 1], [3, 2], [4, 2], [4, 3]]

理想情况下,请使用对初学者最友好的版本。 我未能彻底遍历数组并以正确的顺序使用正确的方法。

【问题讨论】:

    标签: arrays ruby


    【解决方案1】:

    如果输入始终如您的示例所示(数组数组,其中每个数组都有一个字符串元素),那么您可以映射以获取字符,然后映射该结果以将它们作为整数;

    [["10"], ["20"], ["30"], ["40"], ["21"], ["31"], ["41"], ["32"], ["42"], ["43"]]
      .map { |str, _| str.chars.map(&:to_i) }
    # [[1, 0], [2, 0], [3, 0], [4, 0], [2, 1], [3, 1], [4, 1], [3, 2], [4, 2], [4, 3]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2012-11-12
      • 2021-10-16
      • 1970-01-01
      • 2012-05-01
      • 2012-06-02
      • 2021-01-17
      相关资源
      最近更新 更多