Есть два массива:Как сортировать один массив на основе другого массива, используя рубин
A = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
B = [3, 4, 1, 5, 2, 6]
Я хочу, чтобы отсортировать B
таким образом, что для всех элементов B
, которая существует в A
, сортируем элементы порядок, который находится в массиве A
.
Нужный отсортирован привело бы
B #=> [1, 2, 3, 4, 5, 6]
Я попытался сделать
B = B.sort_by { |x| A.index }
, но он не работает.
Этот вопрос отличается от возможных дубликатов, поскольку он имеет дело с наличием элементов в соответствующем массиве, и здесь нет хешей.
_ "элементы B, которые существуют в массиве A" _ - что относительно элементов, которые не существуют в A? – Stefan
Возможный дубликат [Сортировка массива в соответствии с элементами другого массива] (http://stackoverflow.com/questions/11961685/sort-an-array-according-to-the-elements-of-another-array) –
Я разместил свой комментарий относительно возможного дубликата @WandMaker – ArkoD