我有一个巨大的阵列
huge = 1000
huge_array = (1..huge).to_a
如何最好地“扩展”这个数组,使每个元素成为格式[original_element,“默认值”]的子数组,最好是以内存友好的方式(没有明确的#map循环?)
expanded_huge_array = huge_array.some_magic
#=> [[1, "default value"],[2, "default value"], ... [1000, "default value"]]
答案 0 :(得分:2)
huge_array.zip(['default value'] * huge_array.size)
顺便说一下,您可以使用Hash
with default 模拟此行为:
arr = Hash.new { |h, key| huge_array.include?(key) ? [key, 'default value'] : nil }
arr[1]
#⇒ [1, 'default value']
arr[10000]
#⇒ nil
答案 1 :(得分:1)