Ruby:在2d数组中给定索引时,替换子数组中该索引处的第一个元素
我有一个2d数组,看起来像:Ruby:在2d数组中给定索引时,替换子数组中该索引处的第一个元素,ruby,arrays,Ruby,Arrays,我有一个2d数组,看起来像: array = [["apples", 10], ["oranges", 12], ["peaches", 15], ["lemons", 7]] 我想替换数组中的一些字符串(保留数组中的第二个位置不变),借助另一个2d数组的帮助,该数组包含我要用作替换的字符串,第二个位置是我要放置替换的索引,它看起来像 replacements = [["blankets", 1], ["shoes", 3]] 所以我想把毯子放在数组的第一个位置,在数组中的索引1处 outp
array = [["apples", 10], ["oranges", 12], ["peaches", 15], ["lemons", 7]]
我想替换数组
中的一些字符串(保留数组
中的第二个位置不变),借助另一个2d数组的帮助,该数组包含我要用作替换的字符串,第二个位置是我要放置替换的索引,它看起来像
replacements = [["blankets", 1], ["shoes", 3]]
所以我想把毯子
放在数组的第一个位置,在数组
中的索引1处
output = [["apples", 10], ["blankets", 12], ["peaches", 15], ["shoes", 7]]
有人能帮我吗 以下各项应能做到这一点:
replacements.each{|e, i| array[i][0] = e}
replacements.each{|r| array[r[1]][0] = r[0] }
单循环即可完成此任务:
replacements.each { |r| array[r[1]][0] = r[0] if array[r[1]] }