我有两个数组,每个都是二维的,我想在位置i取数组1的值并尝试在数组2中找到相同的值。如果它们具有相同的值,则数组2的值为x位置在位置i的数组1中连接。
示例
阵列1
[[ 1 下,2,3,4,5,6],[3,5,7,2,12,5],[A,F ,3,d,4,G]]
数组2
[[b,e,w,1,4,6],[ 1 ,0,8,5,8,9]
所以新数组1将是
[[ 1 下,2,3,4,5,6,的 1 下,0,8 ,5,8,9],[3,5,7,2,12,5],[A,F,3,d,4,G]]
任何想法.....
答案 0 :(得分:0)
您对任务的描述不正确。你不能
将数组1的值取在位置i
因为array 1
本身包含数组,所以您可以在位置i, j
中获取值。并在位置array 2
的每个i
中的j
中搜索相同的值。如果这是你想要的,这里是示例代码:
arr_1 = [[1, 2, 3, 4, 5, 6], [3, 5, 7, 2, 12, 5], ['a', 'f', 3, 'd', 4, 'g']]
arr_2 = [['b', 'e', 'w', 1, 4, 6], [1, 0, 8, 5, 8, 9]]
search_i = 0
search_j = 0
search_val = arr_1[search_i][search_j]
arr_2.each_with_index do |val_i, i|
val_i.each_with_index do |val_j, j|
if j == search_j && arr_2[i][j] == search_val
arr_1[search_i].concat(arr_2[i])
end
end
end
p arr_1 # [[1, 2, 3, 4, 5, 6, 1, 0, 8, 5, 8, 9], [3, 5, 7, 2, 12, 5], ["a", "f", 3, "d", 4, "g"]]