Найти значения, которые содержит каждый подмассив массива - PullRequest
2 голосов
/ 15 октября 2019

У меня есть Array массивов. Может быть два или более подмассива:

array = [
  ["66892885", "66891801", "66924833", "66892255"],
  ["65167829", "65167828", "66924833"],
  ["66924833", "66891801"]
]

Мне нужны только значения, найденные в каждом подмассиве. Так что в этом случае "66924833" будет единственным совпадением. Чтобы значение отображалось в результате, каждый вложенный массив должен содержать его.

Как я могу это сделать?

1 Ответ

3 голосов
/ 15 октября 2019

Вы можете комбинировать ввод с помощью метода 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"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...