Создать новый массив с общей строкой во всех массивах в ruby - PullRequest
0 голосов
/ 26 мая 2018

Допустим, у нас ниже массива

arrays=[["a","b", "c"],["b","g","c"],["b","c","g"]]

Чтобы найти общие поля массива, мы можем сделать arrays[0] & arrays[1] & arrays[2], который в этом случае вернет ["b","c"].Это отлично работает.Но как мы можем сделать то же самое, когда число массивов непредсказуемо?

Моя первоначальная мысль - сделать что-то вроде цикла вроде этого.

array_count.times do |index|
 #but this way how can I achieve same above or any better approach???
end

Спасибо.

1 Ответ

0 голосов
/ 26 мая 2018

Использовать метод уменьшения

result=arrays.reduce do |x,y|
  x & y
end

p result

вывод

["b", "c"]

Обновление

Другой короткий путь будет

 arrays.reduce(:&)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...