我在替换数组中的值时遇到问题。
我想将$temp
中的一个值替换为array1
中的值。我知道array2
中某个值的索引,我想将其值添加到array2
的完全相同的位置。
这是我的尝试:
array1
我想将array_1 = ["t","t","t"]
array_2 = ["a","a","c"]
array_2_index =[0,1]
替换为array_1[1]
输出应该是这样的:
array_2[1]
答案 0 :(得分:0)
你可以这样做。
array_1 = ["t","t","t"]
array_2 = ["a","a","c"]
array1_index = 0
array2_index = 2
array_2.delete_at(array2_index)
array_2.insert(array2_index, array1[array1_index])
这会返回['a', 'a', 't']
您正在删除要替换的元素,然后在同一索引处插入新元素。
您可以将所有这些包装在一个方法中,如此
def replace_element(array1, array2, array1_index, array2_index)
array_2.delete_at(array2_index)
array_2.insert(array2_index, array1[array1_index])
end
假设您有要替换的2d索引数组,
index = [[0,1],[2,3],[4,5]]
您可以遍历每个并运行方法
index.each do |array1_index, array2_index|
replace_element(array1, array2, array1_index, array2_index)
end