首页 > 解决方案 > ruby - 帮助需要将数组转换为特定类型的数组数组,将键复制为列表中的 [key, value]

问题描述

我想将数组转换为特定类型的数组。

array = [“项目”,“出版物”]

进入

array_of_arrays =[[“项目”,“项目”],[“出版物”,“出版物”]]

该数组不仅限于大小为 2。它是一个不断增长的列表,因此寻找一些函数将其转换为 array_of_arrays。

感谢任何帮助。

标签: rubyruby-on-rails-3

解决方案


def replicate(arr, n)
  arr.map { |e| [e]*n }
end

replicate(["Project", "Publication"], 2)
  #=> [["Project", "Project"], ["Publication", "Publication"]]
replicate(["Project", "Publication"], 3)
  #=> [["Project", "Project", "Project"], ["Publication", "Publication", "Publication"]]
replicate([["ProjectA", "ProjectB"], "Publication"], 2)
  #=> [[["ProjectA", "ProjectB"], ["ProjectA", "ProjectB"]], ["Publication", "Publication"]

推荐阅读