Попытка И все элементы в списке списков - PullRequest
1 голос
/ 07 июня 2019

Я пытаюсь создать новый список элементов, используя списки в моем списке списков.

Я попытался поместить список в цикл while со счетчиком, представляющим длину спискаи делает

values = values[counter] && values [counter + 1]

, но по какой-то причине это не дает мне правильный результат

моя цель в двух словах:

values = [["B", "W"],["C","W"]]
...
result = ["W"]

1 Ответ

3 голосов
/ 07 июня 2019
[["B", "W"], ["C", "W"]].reduce([], :&)
  #=> ["W"]

[["B", "W", "A"], ["A", "C", "W"], ["W", "E", "A"]].reduce([], :&)
  #=> ["W", "A"]

См. Enumerable # уменьшите (он же inject) и Array # & . arr.reduce([], :&) является сокращением для:

arr.reduce([]) { |intersection, a| intersection & a }

reduce присваивается начальное значение [], если его получатель является пустым массивом.

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