Подтвердить что ты не робот

Rails 3 - удалить элементы, принадлежащие массиву B, из массива A

Я начинаю играть с массивами, но я застрял с чем-то, что кажется еще очень простым...
Я пытаюсь удалить x элементов, принадлежащих одному массиву из другого массива.
Я посмотрел на это, но... заблокировал: Удаление элементов из массива требует нескольких проходов, чтобы удалить их все

a = ["1","2","3","4","5","6"]
b = ["1","3"]
c = a.reject { |i| i =~ /b/ }

Ну, я немного здесь, спасибо!

4b9b3361

Ответ 1

a = ["1","2","3","4","5","6"]
b = ["1","3"]
c = a - b

то же, что и

c = a.reject{ |e| b.include? e }

Ответ 2

Если вы хотите изменить существующий массив, удалив элементы в другом массиве, вы можете использовать минус равным.

a = [1, 2, 3, 1, 4]
b = [1, 4]
a -= b
a
=> [2, 3]

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