我有一个Array
数组。可以有两个或多个子数组:
array = [
["66892885", "66891801", "66924833", "66892255"],
["65167829", "65167828", "66924833"],
["66924833", "66891801"]
]
我只需要在每个子数组中找到的值。因此,在这种情况下,"66924833"
是唯一的匹配项。为了使结果中显示一个值,每个子数组都必须包含它。
我该怎么做?
答案 0 :(得分:3)
您可以将inject与Array的Set Intersection (#&
)方法结合使用
array.inject(:&)
获得所需的结果:
array=[["66892885", "66891801", "66924833", "66892255", "1", "33"],
["65167829", "65167828", "66924833", "1", "33", "44"],
["2344", "66924833", "1", "33"]]
array.inject(:&)
#=>["66924833", "1", "33"]