与多维数组ruby的数组值比较

  • 本文关键字:数组 比较 ruby arrays ruby
  • 更新时间 :
  • 英文 :


如果我有两个数组比如:

arr1 = [1,2,3,4,5,6]
arr2 = [[2,4],12]

我想返回变量:

result=[1,3]

我如何创建一个变量,从arr1返回对应于arr2嵌套数组的值的索引。

首先,您需要扁平化第二个多维数组,然后在第一个多维数组中找到项目索引。

arr1 = [1,2,3,4,5,6]
arr2 = [[2,4],12]
def find_indexes(arr1, arr2)
arr2.flatten.each_with_object([]) do |item, acc|
index = arr1.index(item).to_i
acc << index if index >= 0
end
end
find_indexes(arr1, arr2)
#=> [1,3]

最新更新