我有以下代码:
a = ["Cat", "Dog", "Mouse"]
s = ["and", "&"]
我想将数组s
合并到数组a
中,这将给我:
["Cat", "and", "Dog", "&", "Mouse"]
查看 Ruby 数组和 Enumerable 文档,我没有找到可以完成这个任务的方法。
有没有一种方法可以不通过遍历每个数组来实现这个目标?
def merge_and_interleave(arr_a, arr_b)
final_arr = []
until arr_a.empty? && arr_b.empty?
final_arr << arr_a.shift unless arr_a.empty?
final_arr << arr_b.shift unless arr_b.empty?
end
final_arr
end
交错任意大小的二维数组
arr = [["Cat", "Dog", "Mouse"],
["and", "&"],
["hello", "there", "you", "boo", "zoo"]]
max_count = arr.map(&:count).max
max_count.times.map{|i| arr.map{|a| a[i]}}.flatten.compact
#=> ["Cat", "and", "hello", "Dog", "&", "there", "Mouse", "you", "boo", "zoo"]
arr = [0, 1]
arr + [2, 3, 4]
//outputs [0, 1, 2, 3, 4]